gpt4 book ai didi

entity-framework - 首先防止 Entity Framework 数据库中的小数舍入

转载 作者:行者123 更新时间:2023-12-04 12:33:31 24 4
gpt4 key购买 nike

我正在尝试使用 c#、 Entity Framework - 数据库优先和 mvc 将纬度和经度写入/读取到 ms sql 数据库。

问题是纬度/经度显示只有两位小数,即使它们在数据库中是正确的。数据库的字段为 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 - 即使它警告更改可能会在重新生成时丢失,以及如何防止代码四舍五入?

任何帮助表示赞赏!

最佳答案

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属性到实体类中的属性:
[DisplayFormat(DataFormatString = "{0:0.0#####}", ApplyFormatInEditMode = true)]

关于entity-framework - 首先防止 Entity Framework 数据库中的小数舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15706704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com