したがって、この質問は少し難解に聞こえるかもしれませんが、何か「魔法のような」ことに気付き、ボンネットの下で起こっていることのパフォーマンスについて懸念を抱いています。TPC 設計を使用してエンティティを作成し、すべてのエンティティがルート ベース エンティティから (直接的または間接的に) 継承し、ルート ベース エンティティには、保存前にコードで生成されるグローバルに一意の識別子 (Guid など) が含まれているとします (つまり、データベースによって生成されます)。
次のコードは、対応するジェネリック型に関連するテーブルをクエリして、型指定された動的プロキシを返すことで機能することを期待しています (実際にそうしています)。
context.Set<ConcreteDerivedEntityClass>().Find(someGuid)
ただし、次のことを実行できることにも気付きました。
context.Set<BaseEntityClass>().Find(someGuid)
これは非常に優れており、適切な具象クラスの要求された Id に対して型指定された動的プロキシを魔法のように返します。Idがどの派生クラス/テーブルに属しているかをEFがどのように知っているのでしょうか? 一致するものが見つかるまで、知っているすべてのテーブル/エンティティタイプを調べますか (したがって、パフォーマンス上の懸念があります)?