對一個或多個實體的驗證失敗。有關詳細信息,請參閱“EntityValidationErrors”屬性


問題原因:觸發了定義的實例字段校驗規則。比如不為空字段為空了,或者字段超長,我的問題是不為空的字段為空導致的。

解決方案

第一種:ValidateOnSaveEnabled : 修改這個屬性為 false  不讓做實體驗證  (不太推薦,雖然不驗證實體了,但是操作數據的時候還會報錯)。

第二種:找出異常信息,解決問題。

發生這個錯誤會觸發DbEntityValidationException異常,這個異常會有詳細的異常信息說明是哪個字段,出現了什么錯誤,接下來我們try catch輸出錯誤

    try
            {
                changes = base.SaveChanges();
            }
            catch(DbEntityValidationException  dbe )
            {
               foreach(var va in dbe.EntityValidationErrors)
                {
                    foreach(var err in va.ValidationErrors)
                    {
                        string strerr = $"Class:{va.Entry.Entity.GetType().FullName},Property:{err.PropertyName},Error:{err.ErrorMessage}";
                    }
                }
            }
            

 Class:ConST.CRM.Entities.Models.T_Customer,Property:CustomerCode,Error:CustomerCode 字段是必需的。

 


免責聲明!

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



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