为什么实体框架在存储时舍入小数点后2位小数

时间:2017-02-13 14:46:46

标签: c# .net sql-server entity-framework

有人能够解释为什么当存储的值比DB字段中的最大小数位数多的小数位时,EF默认不会舍入小数。

当可存储的小数(在DB字段中配置的小数)短于需要存储的计算值时,对任何类型的应用程序进行四舍五入是常识。

就目前而言,似乎EF正在将小数字视为字符串,并在存储到数据库表时截断该值。

EDIT /答案: 对于那些正在努力寻找简单修复的人来说:

我正在寻找禁用截断功能的内容。

    public UnitOfWork(string connectionString)
    {
        DataContext = new DbContext(connectionString);
        SqlProviderServices.TruncateDecimalsToScale = false;
    }

这个问题的答案恰恰是预期的: Entity Framework Code First truncating my decimals

1 个答案:

答案 0 :(得分:2)