当抛出DbEntityValidationException时,DbUpdateException仍添加到ModelState

时间:2019-01-24 17:13:33

标签: asp.net-mvc entity-framework

我的ModelState出现“重复”错误,出现了问题。

当尝试使用无效的ForeignKey保存记录时,我们的代码会在下面的重写方法中正确返回DbEntityValidationResult(结果具有一个预期的记录)。

但是,尽管抛出了DbEntityValidationException,但EF仍然尝试更新记录,并将其自身有关无效FK的重复错误消息作为DbUpdateException添加到ModelState。

我给人的印象是,如果验证失败,EF将不会尝试更新记录。这是不正确的吗?如果是这样,如果验证失败,如何阻止EF尝试更新记录?

谢谢

protected override System.Data.Entity.Validation.DbEntityValidationResult ValidateEntity(DbEntityEntry entityEntry, System.Collections.Generic.IDictionary<object, object> items)
{...return result;}

0 个答案:

没有答案