当我在SQL类型为DECIMAL (18,8)
的十进制列上调用Average方法时,我有时会将我的值四舍五入到小数点后两位,有时不会。
当我将它打印到控制台时,我得到类似0.010000
和0.021232
的内容,所以只要值小于0.01,就会发生这种情况。
我尝试使用ModelBuilder
显式设置数据类型,但它不会改变任何内容。
在我写这些问题时,我检查了SQL分析器并发现了问题。当EF发送查询时,它会将列强制转换为DECIMAL(18,2)
所以问题现在变成'为什么他们会这样做,我怎样才能选择所需的精度?'这是一个错误还是一个功能?