3

タイトルが示すように、エンティティの DbSet 型のプロパティをいつ宣言する必要がありますか? 一般的なガイドライン ?

4

1 に答える 1

3

一般的なガイドラインはありません。のインスタンスはDbSet<YourEntity>、特定のタイプのエンティティをロードおよび永続化するためのアクセス ポイントです。コンテキスト タイプでプロパティを公開しない場合でも、 を使用してオンザフライで作成できますdbContext.Set<YourEntity>()

プロパティを公開する場合と公開しない場合の唯一の違いは、モデルを定義する際のエンティティの検出にあります。EF が最初に使用されると、定義されたエンティティの "モデル" が構築されます。エンティティは次の方法で検出されます。

  • DbModelBuilderインスタンスで明示的に定義されたマッピング
  • DbModelBuilderインスタンスに明示的に登録された構成タイプ
  • DbSet<>コンテキスト タイプで定義されたプロパティ
  • すでに発見されたエンティティによって参照されるタイプ

したがって、プロパティを使用しない場合はDbSet<>、他の方法でエンティティについて EF に通知する必要があります。

于 2012-12-13T09:02:07.180 に答える