首页 新闻 搜索 专区 学院

EF查询出来的decimal精度如何保留小数点三位小数

0
[待解决问题]

数据库是decimal(18,6)
目前用的是特性存进去
数据库是decimal(18,6)
但是查询出来的保留3为小数

 /// <summary>
 /// 数量
 /// </summary>
[DecimalPrecision(18, 6)]
public decimal qty {get; set; }
cker90的主页 cker90 | 菜鸟二级 | 园豆:256
提问于:2021-11-27 22:21
< >
分享
所有回答(1)
0

问题描述:当采用EF的DbContext保存decimal类型数据到数据库,默认只会保存小数点后的前2位小数,其余均置0;例如保存101.182345,实际存到数据库里的数据为101.180000;

解决方法:在创建项目DbContext时,重写DbContext.OnModelCreating()方法;

然后通过如下方法指定精度:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
     modelBuilder.Entity<Product>().Property(product => product.Price).HasPrecision(18, 6); 
}

 

参考:https://blog.csdn.net/iteye_9368/article/details/82515822

熊泽-学习中的苦与乐 | 园豆:2057 (老鸟四级) | 2021-11-29 09:58

那查询出来确实两位这个怎么回事

支持(0) 反对(0) cker90 | 园豆:256 (菜鸟二级) | 2022-03-29 22:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册