我想知道是否可以将子类属性映射到基类表。假设我有两个课程(缩短):
public abstract class User
{
[Key]
public int UserId { get; set; }
public string Username { get; set; }
// other properties...
}
和
public class Customer : User
{
public int ShopId { get; set; }
public virtual Shop Shop { get; set; }
// other properties...
}
我正在使用 TPT(每种类型的表)继承(这意味着两个表 - 用户和客户)。由于某些原因,我希望ShopId
在 User 表中拥有该属性,但Customer
在 Customer 表中拥有来自类的所有其他属性。这甚至可能吗?
例如,在 User 表中拥有 ShopId 列将允许我们在 Username 和 ShopId 上创建唯一索引(该应用程序是多租户的,因此我们不需要全局唯一的用户名,只需要商店级别的唯一用户名)。