タイトルが示すように、エンティティの DbSet 型のプロパティをいつ宣言する必要がありますか? 一般的なガイドライン ?
質問する
1058 次
1 に答える
3
一般的なガイドラインはありません。のインスタンスはDbSet<YourEntity>
、特定のタイプのエンティティをロードおよび永続化するためのアクセス ポイントです。コンテキスト タイプでプロパティを公開しない場合でも、 を使用してオンザフライで作成できますdbContext.Set<YourEntity>()
。
プロパティを公開する場合と公開しない場合の唯一の違いは、モデルを定義する際のエンティティの検出にあります。EF が最初に使用されると、定義されたエンティティの "モデル" が構築されます。エンティティは次の方法で検出されます。
DbModelBuilder
インスタンスで明示的に定義されたマッピングDbModelBuilder
インスタンスに明示的に登録された構成タイプDbSet<>
コンテキスト タイプで定義されたプロパティ- すでに発見されたエンティティによって参照されるタイプ
したがって、プロパティを使用しない場合はDbSet<>
、他の方法でエンティティについて EF に通知する必要があります。
于 2012-12-13T09:02:07.180 に答える