我遇到了严重的EF限制并需要帮助。
以下是我的表格:
表:公司
表:角色
这是关联表: 表:CompanyRoles
我遇到的这个问题是在我的映射类中,我试图避免对关联表进行建模以保持简单,一切都工作得更早,但我们在任何地方添加了TenantId
。
以下是Company
的C#映射器代码:
this.HasMany(t => t.ContactRoles)
.WithMany(t => t.Companies)
.Map(m =>
{
m.ToTable("CompanyContactRoles");
m.MapLeftKey("TenantId", "CompanyID");
m.MapRightKey("TenantId", "RoleID");
});
EF爆炸,因为我在多对多映射的两侧使用TenantId
,这是错误:
在模型生成期间检测到一个或多个验证错误:
EF不支持多列KEYED关联表吗?关联表中的TenantId用于2个关系,但它似乎想要为每个关系使用专用的TenantId,因为这些列必须存在于实际表中,所以不会发生。