我正在使用实体框架和MS SQL Server 2008.看来,实体框架总是将十进制实体属性舍入到最接近的整数,这真的很烦人。你之前见过这个问题吗?你的解决方案是什么?谢谢!Entity Framwork是否将十进制值舍入为最接近的整数?
2
A
回答
2
我遇到了同样的问题。我正在使用EF和SQL Server 2008 SP1。我使用存储过程来查询一些数据。另一个恼人的事情是,如果我为存储过程创建函数导入,则EF会在上下文类中提供一个函数来调用该sp,但对于我而言,它不会。所以我创建了自己的函数来调用sp。在那个函数中,我通过提供DBType.Decimal来创建EntityParameters。但是,这个结果在Precision和Scale设置为0.当我设置为正确的数字时,我的数据库模式需要(3和1 btw),一切正常。
泽索特
0
没有你提供你的映射类和数据库模式我只能假设你在其中的一个中使用了一个Int或者其他设置为零的小数位的精度。
它也值得一提的是你正在使用哪个版本的EF(实体框架)。
0
它不应该发生的是简短的答案。
什么蒂莫西说,类似的,很可能是以下中的一个正在发生的事情:
- 您生成的类之一的属性被定义为int,而列是一个十进制 - 你可以这样做通过更改实体设计器中的实际类型
- 代码中的某处,您使用的是整数而不是小数。特别是,如果你使用使用
var
隐式类型,编译器可以推断不可分割的类型,而不是一个小数型
澄清第二点的例子:
var myNumber = 100; // myNumber will be an int
myNumber = myNumber/3; // myNumber == 33 (an int)
你能交一些代码给我们一个更好的主意?
0
在C#
,INT/INT = INT
10/2 = 5,10/3 = 3
的与截断语言答案(不圆),所以如果你想要得到准确的,你需要将变量转换为双精度或小数。
相关问题
- 1. 如何将十进制值舍入到最接近的0.05值?
- 2. 将十进制值舍入到最接近的0.05值?
- 3. 我如何总是将十进制值整数到最接近的整数值?
- 4. 舍入到最接近的指定数字(十进制)
- 5. 停止jQuery四舍五入到最接近的十进制.css()
- 6. 在SQL UPDATE中将值舍入到最接近的整数
- 7. SQL转换为十进制,然后舍入到最接近半数
- 8. 将数字四舍五入到最接近的十位
- 9. 舍入十进制
- 10. 将浮点数舍入到ruby中最接近的整数
- 11. 将整数舍入到10的最接近倍数
- 12. 计算一个值并舍入到最接近的整数
- 13. 在Java中将双精度舍入到最接近的整数?
- 14. 将Postgre中的列中的数字舍入为最接近的整数
- 15. 将值四舍五入为最接近的50
- 16. Netezza自动舍入十进制值
- 17. 十进制值未被正确舍入
- 18. Excel十进制舍入?
- 19. 十进制类型的SQL列将数字0,01舍入为0
- 20. 四舍五入为最小整数值
- 21. 十进制/双精度到整数 - 向上舍入(不只是精确到最近)
- 22. 十进制小数点后的值最近为0.01?
- 23. jQuery的四舍五入到最接近的整数
- 24. 的javascript - 如何四舍五入到最接近的整数
- 25. 如何检查.NET十进制值是否为整数?
- 26. 在python中将正数/负数舍入到最接近的“整数”数
- 27. Python自动舍入十进制数
- 28. 四舍五入到最接近的整数变量
- 29. 在VBA中舍入到最接近的较大整数
- 30. 舍入到最接近的指定整数集合
你可以假设,但你会错的。我看到同样的问题......一年多以后,使用EF Code-Only CTP 5。 – 2011-02-21 03:09:06