我想在EF中创建一个多对多的关系。通常我会使用InverseProperty属性,但在本例中:
Role ( Id, Name, ICollection<Privilege> )
Privilege ( Id, Name )我没有逆属性。如何告诉EF一个特权可以在多个角色中使用?
当前,EF在权限表中放置一个Role_Id列。这不是我想要的:-)
编辑:我不想使用Fluent API,我正在寻找一个属性。
发布于 2013-04-20 22:05:28
modelBuilder.Entity<Role>()
.HasMany(r => r.Privileges)
.WithMany() // <- no parameter = no inverse property
.Map(m =>
{
m.ToTable("RolePrivileges");
m.MapLeftKey("RoleId");
m.MapRightKey("PrivilegeId");
});我知道你不想要流畅的API,但是用数据注解是不可能的。带有注释的映射选项只是Fluent API选项的一个子集,这种情况下缺少带有数据注释的映射选项。您需要在这里使用Fluent API。
https://stackoverflow.com/questions/16121083
复制相似问题