2014-03-12 45 views
0

實體框架的DbEntityValidationException呈現的這ELMAH寫入數據庫自定義錯誤消息

消息驗證失敗的一個或多個實體。有關更多詳細信息,請參閱「EntityValidationErrors」屬性。

堆棧指向發生錯誤的位置。如果我們能夠深入瞭解錯誤的集合,並寫出屬性和錯誤消息,那真的非常有用。 Elmah中有什麼方法可以只爲這種異常類型定製輸出?

+1

也許這可能有幫助嗎? (或在東邊的地方開始尋找)http://stackoverflow.com/a/17193397/1810243 – MikeSmithDev

回答

0

ELMAH只記錄有關各種異常共享內容中的錯誤信息。如果異常消息或堆棧跟蹤不包含'EntityValidationErrors'的詳細信息,則需要自行保存這些信息。

您可以在ELMAH中創建一個filter,實現它來檢查異常的類型。如果類型爲DbEntityValidationException,則可以將該異常和raise關閉一個新的異常,其中包含EntityValidationErrors屬性中每個項目的ToString作爲錯誤詳細信息。