継承を使用して EF6 でモデルを実装しようとしています
私は次のクラスを持っています:
Base
Comments
Page : Base
BlogPost : Base
Page と BlogPost の両方が同じ方法でコメントを使用する場合。だから私はベースを次のように定義します
public class Base
{
public int ID { get; set; }
// ...
public ICollection<Comment> Comments { get; set; }
}
そして、次のように定義されたコメント クラス:
public class Comment
{
public int ID { get; set; }
public int RelatedItemID { get; set; } // points to Base::ID
public string Text { get; set; }
}
データベースを「タイプごとのテーブル」としてセットアップしたいとします。そのため、自動インクリメント int PK を持つ Page と BlogPost のそれぞれに個別のテーブルがあります。
これで、EF は Comment.RelatedItemID が指しているテーブルを認識しましたか? つまり、ページまたはブログ投稿
「階層ごとのテーブル」に頼らずにこれを実装する最良の方法は何ですか?