検証障害中のデータベース初期化このエラーは、通常、データベース播種プロセス中にデータが挿入されたときに発生し、入力データは検証ルールの定義を満たしていません。この例では、播種プロセス中に8つの検証エラーが発生しました。 エラーメッセージにより、「エンティティ検証エラー」プロパティを確認して詳細を取得するように求められます。これらのエラーにアクセスするには、以下の手順に従うことができます。
Context.saveChanges()シードメソッドのSaveChanges()は、周囲のメソッドの周りのトライキャッチブロックを呼び出します。
キャッチブロックでは、dbentity validationExceptionがキャプチャされます。
キャッチブロックの実際の検証エラーを表示するには、次のコードを使用できます。
このコードは、物理タイプ、属性名、エラーメッセージなど、各検証エラーの詳細情報を出力します。 エラーの例を確認します
エラーの考えられる理由の1つは、アプリケーションテーブルの不足または無効な状態値です。データベースの変更を保存しようとする前に、statusIDプロパティが効果的な状態IDに設定されていることを確認してください。
<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>
以上が「データベースの初期化中に「検証が失敗した」エンティティフレームワークのエラーのデバッグ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。