我們在 EF 的編程中,有時候會遇到這樣一個錯誤:
但是,按照他的提示 “See 'EntityValidationErrors' property for more details.” 去 Exception 中查看,卻只能看到
並不能看到具體的是那個屬性為什么驗證不通過,也許不少人都遇到這種情況。
這里給大家介紹一個Exception類,讓我們能夠輕松的知道具體的哪一個字段出了什么問題。
那就是 System.Data.Entity.Validation.DbEntityValidationException,相信代碼都知道怎么寫了,最簡單的就是
try
{
// 寫數據庫
}
catch (DbEntityValidationException dbEx)
{
}
在 dbEx 里面中我們就可以看到
這樣子我們就能看到 EntityValidationErrors 所有的 ValidationErrors 的詳細信息了。
解決辦法是:
AsNoTracking().Single
myContext.Busi_StandardItem.AsNoTracking().Single(p => p.ID == model.ID);