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

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

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

2019-11-11 00:43:55
字體:
來源:轉載
供稿:網友

這個問題相信只要是做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 字段長度不夠了。找到答案就好辦了。擴大字段大小,問題解決


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华容县| 油尖旺区| 城口县| 菏泽市| 天门市| 涞水县| 洛南县| 崇州市| 伊宁市| 庆元县| 甘孜| 东港市| 舟山市| 望江县| 昆山市| 巴林右旗| 文水县| 绥棱县| 绥棱县| 延安市| 夏邑县| 龙井市| 藁城市| 崇阳县| 屏山县| 滨海县| 弥勒县| 泌阳县| 丹棱县| 克拉玛依市| 鹤峰县| 监利县| 岑溪市| 宾川县| 宜州市| 方正县| 昭觉县| 腾冲县| 阳山县| 北宁市| 内江市|