如何获得EF GetValidationErrors来验证小数?

时间:2016-07-29 15:55:26

标签: entity-framework validation precision

目前,在EF 6.1.3中,如果在Code First中使用HasPrecision(6,2)声明了小数,且值为1234567.0,那么GetValidationErrors不会检测到任何错误,并且SaveChanges会失败。

我不想自定义验证写入数据库的每个实体,并希望以某种方式获取GetValidationErrors以验证要写入已声明精度的数据库的小数的大小。

这可能吗?可能是我错过了什么......谢谢!

1 个答案:

答案 0 :(得分:0)

  • 您可以在DbContext中更改属性精度,例如:
modelBuilder.Entity<AnEntity>().Property(e => e.property).HasPrecision(14, 12);
  • 您还可以在保存时禁用自动验证并为验证创建自定义数据注释:
  

MyDbContext.Configuration.ValidateOnSaveEnabled = false;