2

エンティティをサブクラス化し、サブクラスのインスタンスを Context の DbSet コレクションに追加すると、次のエラーが発生しますMapping and metadata information could not be found for EntityType 'Namespace_Name.SubClass_Entity_Name'

詳細:

コンテキスト クラスにはプロパティ DbSet があります。
異なるアセンブリにいくつかのエンティティがあり、

  1. BaseClass (Assembly1 に属する BaseClass)
  2. DerivedClass : BaseClass (Assembly2 に属する DerivedClass)

実行時に派生クラスのインスタンスをコンテキストに追加すると、上記の例外が発生します。

注: DerivedClass が BaseClass と同じアセンブリに属していた場合、この例外は発生しません。

質問:
サブクラスが別のアセンブリに属しているという理由だけで、この問題が発生するのはなぜですか?
同じアセンブリに属する​​サブクラスでこの問題に直面しないのはなぜですか?


アップデート:

OnModelCreating メソッドをオーバーライドし、次のように DerivedClass を登録する修正を見つけましたmodelBuilder.Entity< DerivedClass>();

4

1 に答える 1