私のドメインクラスには次のものがあります(簡略化)
public enum JobType
{
SalesOrder = 1,
StockOrder = 2
}
public class SalesOrder : LoggedEntity
{
public string Name { get; set; } // and other fields
}
public class StockOrder : LoggedEntity
{
public string Name { get; set; } // and other fields
}
public class Job : LoggedEntity
{
public int JobType { get; set; } // jobtype enum
public virtual LoggedEntity LinkedEntity { get; set; }
}
私の文脈は次のとおりです。
public class Context : DbContext
{
public DbSet<Job> Jobs { get; set; }
public DbSet<StockOrder> StockOrders { get; set; }
public DbSet<SalesOrder> SalesOrders { get; set; }
}
移行を実行すると、[ここ] [1]で説明されているエラーが発生します。したがって、抽象エンティティの使用は機能しないようです。
私の質問は、複数のエンティティタイプに移動できるナビゲーションプロパティを作成するにはどうすればよいですか?
JobType = SalesOrderの場合は販売注文に移動し、JobType=StockOrderの場合は在庫注文に移動します。
階層ごとのテーブル戦略を使用したかった[ここでTPHを参照][2]