我试图使用c#,实体框架 – 数据库优先和mvc来编写/读取ms sql数据库的纬度和经度.
问题是lat / long只显示2位小数,即使它们在数据库中是正确的.数据库的字段为数字(18,6).
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) { modelBuilder.Entity<STORE_LOCATION>().Property(location => location.LATITUDE).HasPrecision(18,6); modelBuilder.Entity<STORE_LOCATION>().Property(location => location.LONGITUDE).HasPrecision(18,6); }
2个问题 – 我是否应该修改上下文文件中的OnModelCreating – 即使它警告更改可能会在重新生成时丢失,如何保持代码不会舍入小数?
任何帮助赞赏!
解决方法
Should I be modifying the OnModelCreating in the context file – even though it warns changes may be lost on regeneration and how do I keep the code from rounding the decimals?
否 – 在另一个文件中实现上下文的部分类,并在那里实现OnModelCreating
至于精度 – 您是否检查过调试器中对象的值与页面上显示的值?在渲染期间可能发生舍入.
[displayFormat(DataFormatString = "{0:0.0#####}",ApplyFormatInEditMode = true)]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。