關於如何查看 EntityValidationErrors 詳細信息的解決方法


關於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;
}    

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM