0

タイプごとのテーブルで最初にefコードを設定しています。次の構造を参照してください。継承されたクラス情報を独自のテーブルに格納すると同時に、派生クラスは親への参照と、BaseClass から派生した子のリストを持つことができます。

public class BaseClass
{
    public long Id {get;set;}
    public string EntityType { get; set; }
}

public class A_Class : BaseClass
{
     public string A_Property {get;set;}
     public BaseClass Parent {get; set;}
     public IList<BaseClass> Children { get; set; }
}

public class B_Class : BaseClass
{
     public string B_Property {get;set;}
     public BaseClass Parent {get; set;}
     public IList<BaseClass> Children { get; set; }
}

モデルの DbContext をセットアップする方法はありますか?

4

1 に答える 1

0

3 つのテーブルを生成するには、API を使用できます。

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<BaseClass>().ToTable("BaseClass");
    modelBuilder.Entity<A_Class>().ToTable("AClass");
    modelBuilder.Entity<B_Class>().ToTable("BClass");

    base.OnModelCreating(modelBuilder);
}

またはTableAttribute

[Table("BaseClass")]
public class BaseClass
{
    public int Id { get; set; }
    public string EntityType { get; set; }
}

[Table("AClass")]
public class A_Class : BaseClass
{
    public string A_Property { get; set; }
    public BaseClass Parent { get; set; }
    public ICollection<BaseClass> Children { get; set; }
}

[Table("BClass")]
public class B_Class : BaseClass
{
    public string B_Property { get; set; }
    public BaseClass Parent { get; set; }
    public ICollection<BaseClass> Children { get; set; }
}
于 2013-03-10T14:15:44.510 に答える