【发布时间】:2013-01-26 13:57:45
【问题描述】:
我有一个类Tenant,它是抽象类型UserProfile。我正在使用 table-per-type 继承方法。一个租户可以代表一组租户。 TenantGroupMember 就是这样一个组之一。所以,1 个Tenant 可以有零个或多个TenantGroupMembers。
如何使用 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; }
}
我在TenantGroupMember 中从UserProfile 制作FK 是否正确?因为ICollection TenantGroupMembers 在Tenant 中,EF 会知道TenantGroupMember 只能与Tenant 相关联,而不能与UserProfile 的任何其他派生类相关联?
【问题讨论】:
标签: c# database entity-framework ef-code-first table-per-type