【发布时间】:2021-06-25 05:55:35
【问题描述】:
例如通过手动查询插入 (0.1234) 很好,但是在使用 mvc5 表单从表单中插入值时。
1- 数据库中列的配置是:
RateBuy (decimal(18, 4))
2- 模型的设置类似于,同时从 from 插入数据
[DisplayFormat(DataFormatString = "{0:n4}", ApplyFormatInEditMode = true)]
public decimal RateBuy { get; set; }
结果是0.1200在数据库中
3- 模型的设置类似于,同时从 from 插入数据
[DisplayFormat(DataFormatString = "{0:0.0000}", ApplyFormatInEditMode = true)]
结果是0.1200在数据库中
保存数据的代码:
public ActionResult SaveNew(Rate tbl)
{
Rate t = new Rate ();
t.RateBuy = tbl.RateBuy;
dbConnection.Entry(t).State = System.Data.Entity.EntityState.Added;
dbConnection.SaveChanges();
return View();
}
任何解决方案都让人头疼......
【问题讨论】:
-
您显示的代码与数据库无关。
-
有一个更新检查,但数据库也必须支持十进制
-
还是没有数据库相关的代码。
-
这里我们要求数据库中有小数点(18, 4),以支持4个点
-
因此请检查您在 EF 中为该列指定了哪些属性(这与您在数据库中指定的属性不同)。它们应该匹配。
标签: asp.net model-view-controller database-design model asp.net-mvc-5