複雑なエンティティのナビゲーションプロパティを定義するための公式のアプローチは次のとおりです。
public class SuperEntity
{
public int Id { get; set; }
//Other properties
}
public class LowerEntity
{
public int Id { get; set; }
public int SuperEntityId { get; set; }
public virtual SuperEntity SuperEntity { get; set; }
//Other properties
}
ここでの主なことは、参照する(リンクされたスーパーエンティティへのナビゲーションを可能にする)クラスには、public SuperEntity SuperEntity { get; set; }
プロパティとのIDの両方があるということpublic int SuperEntityId { get; set; }
です。
public int SuperEntityId { get; set; }
私は、「下位エンティティ」のプロパティを省略したエンティティ設計に数日入りました 。したがって、仮想SuperEntityプロパティのみでナビゲートしています。そして、すべてが正常に機能します!しかし、SOの人々から、DBに過剰なテーブルが作成されると言われました。私はチェックしました、そしてそれは真実ではありません。私のアプローチを使用すると、DBテーブルにはSuperEntityId列があり、参照されているエンティティIDが自動的に入力されます。public int SuperEntityId { get; set; }
では、この分野のポイントは何ですか?
または、おそらく、私が行っていることは、4.3のようなEFの「新しい」バージョンで利用可能になりましたか?