數據庫初始化期間驗證失敗
此錯誤通常發生在嘗試在數據庫播種過程中插入數據時,並且輸入數據不符合定義的驗證規則。在本例中,在播種過程中遇到了八個驗證錯誤。
錯誤消息提示您檢查“EntityValidationErrors”屬性以獲取更多詳細信息。要訪問這些錯誤,您可以按照以下步驟操作:
獲得 EntityValidationErrors 集合後,您可以遍歷它並查看每個驗證失敗實體的具體錯誤消息。
訪問驗證錯誤
要在 catch 塊中查看實際的驗證錯誤,您可以使用如下代碼:
<code class="language-c#">try { //您的代码... context.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("类型为 \"{0}\" 的实体,状态为 \"{1}\",具有以下验证错误:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- 属性:\"{0}\",错误:\"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; }</code>
此代碼將輸出每個驗證錯誤的詳細信息,包括實體類型、屬性名稱和錯誤消息。
驗證錯誤示例
驗證錯誤的一個可能原因是 ApplicantPosition 表中缺少或無效的狀態值。在嘗試保存對數據庫的更改之前,請確保 StatusID 屬性設置為有效的狀態 ID。
以上是如何調試'驗證”在數據庫初始化期間失敗”實體框架中的錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!