【发布时间】:2020-01-17 06:26:34
【问题描述】:
所以我在 EntityFramework 6 中使用 TPT(每种类型的表)来创建表层次结构,假设是这样的:
public class Model
{
public int Id { get; set; }
public int CommonProperty { get; set; }
}
public class ModelA: Model
{
public string PropertyA { get; set; }
}
public class ModelB: Model
{
public int PropertyB { get; set; }
}
现在,我需要从自身引用表 ModelA,以便它包含对相同类型实体的引用,如下所示:
public class ModelA: Model
{
public string PropertyA { get; set; }
public int ModelAId { get; set;
public ModelA ModelA;
}
现在,这个引用显然是指 Model 表而不是 ModelA,因为从技术上讲,这个引用没有它自己的 Id。
我该怎么做?
我一直在考虑添加一个名为 ModelAId 的新内部 int 并引用那个,但我不知道是否有更好的解决方案。
【问题讨论】:
标签: c# sql-server database entity-framework database-design