EFCodeFirst插入表时,子表为空,验证不通过。
有两张类
class c1
{
guid id;
int aaa;
int bbb;
c2 c2Object;
}
class c2
{
guid id;
int ccc;
int bbb;
}
其中配置的时候c2.ccc,和 c2.bbb 不能为空。 c1.c2Object 能够为空.
现在我ADD 一条数据 new c1{ aaa=1,bbb=2} 的时候报错为“对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性。”
查看详细后是因为 c2.ccc,c2.ddd 为空,所以验证时报报错。请问如何才能插入c2为空的情况。
[解决办法]
SaveChanges前先关闭验证实体有效性(ValidateOnSaveEnabled)这个开关
db.Configuration.ValidateOnSaveEnabled = false;
int count = db.SaveChanges();
db.Configuration.ValidateOnSaveEnabled = true;