如何使用 EntityFramework 4.1 CodeFirst 防止小数值在保存时被截断为 2 位?
可能的重复:
实体框架代码优先:十进制精度
我正在使用 Linq-to-Entities使用 EntityFramework 4.1 Code First 系统。我的所有 decimal
属性在保存时都被截断为小数点后两位。我可以检查正在修改的对象,并可以在调试器中看到它具有正确的小数位数,并且我可以对数据库中的值进行硬编码,以表明它可以接受正确的小数位数[在本例中,<代码>十进制(4,3)]。但是当我保存该值时,它永远不会正确保存它,而是将 decimal
值截断为小数点后两位。我无法在 System.ComponentModel.DataAnnotations 中找到允许您指定精度的类。可供参考的类(已清理)是:
public class Metrics
{
public decimal? PPM { get; set; }
}
Possible Duplicate:
Entity Framework Code First: decimal precision
I'm using Linq-to-Entities with the EntityFramework 4.1 Code First system. All of my decimal
properties are being truncated to two decimal places on save. I can examine the object being modified and can see in the debugger that is has the right number of decimal places and I can hard code the value in the database to show that it can accept the right number of decimal places [in this case, decimal(4,3)
]. But when I save the value, it never saves it correctly, but instead truncates decimal
values to two decimal places. I haven't been able to find a class in System.ComponentModel.DataAnnotations
that allows you to specify precision. The class (sanitized), for reference is:
public class Metrics
{
public decimal? PPM { get; set; }
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)