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


使用asp.net+EF5.0練習的時候,遇到這樣一個問題:

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

 

但是感到很疑惑,去百度,說是關閉EF驗證,即可

修改:

SaveChanges前先關閉驗證實體有效性(ValidateOnSaveEnabled)這個開關

可以在 Controller層這樣關閉

 db.Configuration.ValidateOnSaveEnabled = false;
 int count = db.SaveChanges();
 db.Configuration.ValidateOnSaveEnabled = true;

或者在 DAL層,對整個系統關閉

        /// <summary>
        /// 創建 EF上下文 對象,在線程中共享 一個 上下文對象
        /// </summary>
        /// <returns></returns>
        public DbContext GetDbContext()
        {
            //從當前線程中 獲取 EF上下文對象
            DbContext dbContext = CallContext.GetData(typeof(DBContextFactory).Name) as DbContext;
            if (dbContext == null)
            {
                dbContext = new IZhanShiEntities();
                dbContext.Configuration.ValidateOnSaveEnabled = false;
                //將新創建的 ef上下文對象 存入線程
                CallContext.SetData(typeof(DBContextFactory).Name, dbContext);
            }
            return dbContext;
        }

關閉之后,不報這個錯了,轉而報另外要給錯誤:

  SqlException (0x80131904): 將截斷字符串或二進制數據。 語句已終止。

這才是問題所在   可以說 是你在操作數據庫的時候,有字段超過了數據庫里面 你字段的限制大小

查看代碼,果然有字段太長了。

修改,完畢


免責聲明!

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



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