如何在流利的ef核心中定义一个映射到多个一对多的共享超级类型的列表属性?

问题描述

首先,我有一个像这样的基类

public class BaseModel
{
      public string information { get; set; }
}

然后我有两个基类子类

public class SubType1 : BaseModel
{
    public int Id { get; set; }

    public int TestData1 { get; set; }

    public int ParentId { get; set; }

    public virtual Parent Parent { get; set; }
}


public class SubType2: BaseModel
{
    public int Id { get; set; }

    public string TestData2 { get; set; }

    public int ParentId { get; set; }

    public virtual Parent Parent { get; set; }
}

然后我有一个父类,该类具有基类列表

public class Parent
{
    public int Id { get; set; }

    public virtual List<BaseModel> Components { get; set; } = new List<BaseModel>();
}

父母 实体具有很多 SubType1 ,然后还有很多 SubType2 s

SubType1 SubType2 各自具有自己的表

什么是流利的,我可以添加一下,它会自动使 Parent 实体上的 Components 列表返回中的所有实体SubType1 SubType2 表?

关键要求:需要流利

解决方法

根据您的描述,您似乎正在使用Table per Concrete Type (TPC),对吗?

据我所知,在EF内核中,TPC模式为currently on the backlog,这意味着它正在考虑作为一种功能包括在内,但尚未设置日期。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...