Entity Framework のモデル マッピング エラー
Entity Framework でコードファーストのアプローチを使用する場合、モデルがデータベースに正しくマッピングされています。よく発生するエラーの 1 つは、「エンティティ タイプ
このエラーは通常、アクセスまたは変更されているエンティティ タイプを DbContext が認識していない場合に発生します。この問題を解決するには、エンティティを DbContext のデータベース テーブルに明示的にマップする必要があります。
提供されたコードの場合、解決策はカスタム OnModelCreating メソッドをオーバーライドすることです。 >DimensionWebDbContext class:
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Estate>().ToTable("Estate"); }
ToTable メソッドでは、Estate エンティティをデータベース内の "Estate" テーブルにマップする必要があることを DbContext に指示しています。
この明示的なマッピングがないと、Entity Frameworkエンティティはクラス名と同じ名前のテーブル (この例ではEstate) にマップされると想定します。 場合)。データベースはまだ初期化されていないため、その名前のテーブルが含まれていないため、エラーが発生します。
エンティティを正しくマッピングすることで、Entity Framework は対話するテーブルを特定し、エラーを解決し、リポジトリからのエンティティの挿入と変更を許可します。以上がEntity Framework で「エンティティ タイプは現在のコンテキストのモデルの一部ではありません」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。