草庐IT

HEXA-DECIMAL

全部标签

EntityFramwork decimal保存到数据库精度只有小数点后两位

EF中默认的decimal数据精度为两位数,当我们数据库设置的精度大于2时,EF将只会保留到2为精度。如product.Price=0.0111,存到数据库会变成0.01001.解决方案一是网上找到常见的方法为重写DbContext的OnModelCreating方法:protectedoverridevoidOnModelCreating(DbModelBuildermodelBuilder){  modelBuilder.Entity().Property(x=>x.Price).HasPrecision(18,5);}但如果数据表多或者Decimal类型字段多的话,用OnModelCre