關於MVC UpdateModel的未能更新XXXXX的類型模型 的問題:
最近做MVC3的項目,相信很多人都碰到過這個問題,在此記錄一下,異常:UpdateModel的未能更新XXXXX的類型模型
下面提供一種解決辦法,通過查看EntityValidationErrors解決此異常
查看 EntityValidationErrors 詳細信息的解決方法如下:
我們在 EF 的編程中,有時候會遇到這樣一個錯誤:
但是,按照他的提示 “See 'EntityValidationErrors' property for more details.” 去 Exception 中查看,卻只能看到
並不能看到具體的是那個屬性為什么驗證不通過,也許不少人都遇到這種情況。
這里給大家介紹一個Exception類,讓我們能夠輕松的知道具體的哪一個字段出了什么問題。
那就是 System.Data.Entity.Validation.DbEntityValidationException,相信代碼都知道怎么寫了,最簡單的就是
try { // 發生異常代碼 } catch (DbEntityValidationException dbEx) { }
在 dbEx 里面中我們就可以看到
這樣子我們就能看到 EntityValidationErrors 所有的 ValidationErrors 的詳細信息了。
這樣問題就解決了.
關於如何查看 EntityValidationErrors 詳細信息的解決方法
try { } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { var msg = string.Empty; var errors = (from u in ex.EntityValidationErrors select u.ValidationErrors).ToList(); foreach (var item in errors) msg += item.FirstOrDefault().ErrorMessage; return msg; }