国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

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

2019-11-11 02:39:19
字體:
來源:轉載
供稿:網友

這個問題相信只要是做MVC的,都碰到過,也都知道錯誤的原因,就是觸發了定義的實例字段校驗規則。比如定義的不為空,但是為空了,或者定義的字段長度為50,但是超過50了。

可是有時雖然知道是這樣,但是具體問題解決的時候還是無從下手。我最近就碰到一個,知道是在更新某個表的時候出現的這個問題。可是在本地無法具現此錯誤,這個錯誤是在特定條件發生的,我并不知道此特定發生條件是什么,很郁悶。

在網上找了下,知道發生這個錯誤會觸發DbEntityValidationException異常,這個異常會有詳細的異常信息說明是哪個字段,出現了什么錯誤,只不過需要循環輸出。打算輸出到日志文件中看是什么錯誤。代碼如下:

 try                    {                        es2.Update(examList);                    }                    catch (DbEntityValidationException dbEx)                    {                        foreach (var validationErrors in dbEx.EntityValidationErrors)                        {                            foreach (var validationError in validationErrors.ValidationErrors)                            {                                EventLog.Log(string.Format("Class: {0}, PRoperty: {1}, Error: {2}", validationErrors.Entry.Entity.GetType().FullName,                                    validationError.PropertyName,                                    validationError.ErrorMessage), "error");                            }                        }                        throw;                    }                    catch (Exception ex)                    {                        throw;                    }之所以用2個catch,是為了防止有其他非DbEntityValidationException 錯誤時,沒有錯誤日志。

編譯,上傳到服務器,過了一會,查看日志文件,找到錯誤原因了。

 Class: System.Data.Entity.DynamicProxies.ExamList_839A196D8FC4CF7E8A791B7F29782BA535E73532A1C3C2C00FD6EF30B6C4A660, Property: StudentAnswer, Error: 字段 StudentAnswer 必須是最大長度為 50 的字符串。是StudentAnswer 字段長度不夠了。找到答案就好辦了。擴大字段大小,問題解決


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清涧县| 甘泉县| 禹城市| 克拉玛依市| 筠连县| 赣榆县| 大姚县| 同心县| 永靖县| 济源市| 岚皋县| 柏乡县| 建阳市| 武平县| 亚东县| 皋兰县| 齐河县| 绥宁县| 揭西县| 荥经县| 会泽县| 焉耆| 都兰县| 河东区| 闻喜县| 久治县| 汤阴县| 太白县| 工布江达县| 滨海县| 唐河县| 光泽县| 长海县| 广德县| 天门市| 胶州市| 昆山市| 雅安市| 岑巩县| 肇源县| 成安县|