我有一个Tenant
抽象类型的类UserProfile
。我正在使用 table-per-type 继承方法。一个租户可以代表一组租户。ATenantGroupMember
是这样一个组之一。因此,1Tenant
可以有零个或多个TenantGroupMember
s。
使用 table-per-type 方法如何表示此关联?我接近它的方式如下:
[Table("TenantGroupMember")]
public class TenantGroupMember
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int TenantGroupMemberId { get; set; }
// 1:many with Tenant - base UserProfile
public int UserProfileId { get; set; }
}
[Table("Tenant")]
public class Tenant : UserProfile
{
public string TenantAge { get; set; }
public string PersonalDescription { get; set; }
// 1:many with TenantGroupMember
public virtual ICollection<TenantGroupMember> TenantGroupMembers { get; set; }
}
我将 FK 放入TenantGroupMember
from是否正确UserProfile
?因为ICollection TenantGroupMembers
是 in Tenant
,EF 会知道 aTenantGroupMember
只能与 a 相关联Tenant
,而不能与 的任何其他派生类相关联UserProfile
吗?