c# - 如何在 .NET 6 中自动防止 rounding 数字的 decimal 部分

在将版本从 .NET Core 3.1 转换为 6.0 后,我发现所有 decimal(10, 5) 类型的列都自动成为 rounding 数字的 decimal 部分,并以圆形格式将其保存在数据库中。以前版本的 .NET Core 中的哪个工作正常。例如,我有一个类似 asset = 85.456 的列,在新版本中,它以 85.46 value 的形式存储在数据库中。

软件包的升级版本:EFCore 版本 2.13.4 => 6.13.18 EntityFrameworkCore.SqlServer 版本 2.2.6 => 6.0,我使用的是 Microsoft SQL Server。

我怎样才能防止这种情况?

回答1

你能确定你的模型构建器在上下文类中是这样的吗:

modelBuilder.Entity<TableName>(entity =>
{
    entity.Property(e => e.FieldName).HasColumnType("decimal(10, 5)");
});

如果不是这样,则可能此字段 value 类型不是您的数据库中的 decimal(10,5)

相似文章

r - Average duration 的时间花费 R

我正在尝试编写一个可以计算行为事件的averageduration的脚本。理想情况下,可以为我所有的行为类别进行计算,如果可能的话,还可以计算标准误差。我的数据如下29/10/20156:09:389...

随机推荐

最新文章