我正在尝试使用C#,实体框架-数据库优先和MVC将纬度和经度写入/读取MS SQL数据库。
问题在于,即使在数据库中正确,纬度/经度仅显示为2个小数位。 数据库将字段设置为numeric(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,尽管它警告表示在重新生成时更改可能会丢失,以及如何防止代码对小数进行四舍五入?
感谢任何帮助!
DataFormatString = "{0:0.000000}"
,否则显示纬度/经度 11.627440 时会变成 11.62744。 - Frank