我正在尝试建立1..1 / 0关系的模型,其中关系的1/0端是实体的层次结构。在EF核心中执行此操作的方法是使用TPH(每个层次结构的表)。但是,我的实体是如此不同,以至于将它们全部放入同一表中似乎是错误的。还有另一种看待这种方式的方法吗?
一些额外的细节。实体基本上是第一个实体的参数。它们是可选的,但对于每个实体,它们都是不同的。
public class Result
{
public int Id { get; set; }
public int? CalculationMethodId { get; set; }
public CalculationMethod Method { get; set; }
}
public class CalculationMethod
{
public int Id { get; set; }
public double CommonParameter1 { get; set; }
public int CommonParameter2 { get; set; }
public Result Output { get; set; }
}
public class Method1 : CalculationMethod
{
public int SpecificParameter1 { get; set; }
public int SpecificParameter2 { get; set; }
}
public class Method2 : CalculationMethod
{
public double SpecificParameter1 { get; set; }
public int SpecificParameter2 { get; set; }
public int SpecificParameter3 { get; set; }
}