EF對一個或多個實體驗證失敗異常解決辦法

Entity Framework是一個C# ORM框架 , 可以很便捷的開辟Web程序 , 當然也可以在WInform程序中挪用 , 可是EF呈現異常的時辰 , 經常會提醒一個或多個實體驗證掉敗 。 此時我們調試的時辰可能發現問題比力堅苦 。 本文本家兒要給大師介紹下若何去定位問題然后解決問題 。

需要這些哦
VS2017
Entity FrameWork
方式/
1起首 , 這是我在程序調試時 , 呈現的一個問題 , 如下所示 。 程序拋出異常 有一個或者多個實體驗證掉敗 。 此時異常跑出來之后 , 一般我們會點擊異常 , 然后查看具體信息 , 成果就發現屬性那么多 , 到底看哪個呢?咱們接著往下看 。

EF對一個或多個實體驗證失敗異常解決辦法



2點開異常信息 , 查看EntityvalidationErrors選項 , 如下所示 。 我們看到Count=2 , 申明有兩處異常信息 。 也就是說我們的程序報錯 , 有兩處處所驗證沒經由過程 。

EF對一個或多個實體驗證失敗異常解決辦法



3【EF對一個或多個實體驗證失敗異常解決辦法】然后點開EntityvalidationErrors選項卡 , 會發現一個列表 , 0和1就是我們程序報錯的處所 。 這里 , 我們一一申明 。 后面的申明文字代表我們的Entity有異常 , 也就是說異常信息呈現在實體驗證上面 。

EF對一個或多個實體驗證失敗異常解決辦法



4我們點開0 , 然后可以看到以下選項卡 。 這選項卡這里有個ValidationError選項 , 這個會提醒那個實體信息犯錯了 , Entity選項會顯示出 , 當前錯誤實體的數據信息 , 本家兒要包羅哪個字段的值是什么 。

EF對一個或多個實體驗證失敗異常解決辦法



5點擊開ValidationError , 其錯誤信息顯示如下 。 此中是NumberCode字段錯誤 , 錯誤信息是“字段信息必需是最大值為3的字符或者數組”申明字段的值跨越了和數據庫中的設置的最大的長度 。

EF對一個或多個實體驗證失敗異常解決辦法



6最后我們查看下數據庫 , 如下所示 , 數據內外面設置的最大長度是3 , 是以可以鑒定是數據庫設置字符長度不敷 , 若是是代碼邏輯沒問題 , 那么我們點竄下數據表 , 若是是代碼邏輯有問題 , 那么我們就在代碼中加驗證 。

EF對一個或多個實體驗證失敗異常解決辦法



注重事項編寫代碼時必然要注重加驗證前提 , 防止用戶輸入不正當的信息 。

以上內容就是EF對一個或多個實體驗證失敗異常解決辦法的內容啦 , 希望對你有所幫助哦!

    猜你喜歡