EF decimal默认两位经度修改
EF中默认的decimal数据精度为两位数,当我们数据库设置的精度大于2时,EF将只会保留到2为精度。
可使用如下方法将其修改为4位精度:
EF
protectedoverridevoidOnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Properties<decimal>().Configure(config => config.HasPrecision(18, 4)); }
EF CORE:
foreach (var property in modelBuilder.Model.GetEntityTypes().SelectMany(t => t.GetProperties()).Where(p => p.ClrType == typeof(decimal) || p.ClrType == typeof(decimal?))) { property.SetColumnType("decimal(18,4)"); }
最近评论