我有如下实体
public abstract class MyBaseClass
{
public int Id { get; set; }
}
public class MyConcrete : MyBaseClass
{
public int TemplateName { get; set; }
public int Total { get; set; }
}
public class MyOtherConcrete : MyBaseClass
{
public int TemplateName { get; set; }
public int MyProperty { get; set; }
public string OtherProperty { get; set; }
}
使用默认初始化,EF 将创建具有如下列的表:
Id
TemplateName
TemplateName1 // <-- this is the problem
Total
MyPorperty
MyOtherProperty
现在我的问题是如何配置 EF,以便派生类上的所有 TemplateName 属性自动映射到 TemplateName 列而不创建另一列。是否可以在OnModelCreating
方法上配置它?
编辑
实际上上面是我的问题的简化版本。我还有 10 个实体,某些属性可能在各处重复,我不想添加任何抽象层。
我已经尝试手动映射列,OnModelCreating
但具有“类型中的每个属性名称必须是唯一的。属性名称'TemplateName'已被定义”异常知道吗?
编辑 2
所以,我在这里发现,说在 EF 中不可能像上面那样做这样的事情,这对我来说很奇怪..