EF核心与多态关系

时间:2018-11-23 10:04:26

标签: entity-framework-core

我正在尝试建立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; }    
}

0 个答案:

没有答案