【发布时间】:2018-09-07 10:49:32
【问题描述】:
我正在尝试为使用默认 TPH 继承的实体实现关系(一对多)
public abstract class base
{
public int Id { get; set; }
...
}
public class X : base
{
public ApplicationUser User { get; set; }
...
}
public class Y : base
{
public ApplicationUser User { get; set; }
...
}
public class ApplicationUser
{
public string Name { get; set;}
...
public ICollection<X> classX { get; set; }
public ICollection<Y> classY { get; set; }
}
一切正常,但问题是实体框架在基表中创建了两列 - User_Id 和 User_Id1。如何映射它,以便外键 (User_Id) 只有一列,并根据鉴别器列(由 EF 创建)中的记录内容,将外键分配给适当的实体?
【问题讨论】:
-
嘿。只是一般性评论。 “基础”是一个关键字。所以它不是基类的最佳名称。 “MyBaseClass”将是示例代码的更好候选者。和真正的代码..我永远不会命名一个类。那有意义吗? docs.microsoft.com/en-us/dotnet/csharp/language-reference/…
标签: c# entity-framework inheritance