使用映射表进行多对多关系映射

时间:2011-06-16 09:20:11

标签: entity-framework many-to-many modelbinder

我有以下表格

Users
-> UserId
-> Name

Roles
-> RoleId
-> Name

UserRoles
-> UserId
-> RoleId

以及以下课程

public class Role{
     public int RoleId{get;set;}
     public int Name{get;set;}
}

public class User{
     public int UserId{get;set;}
     public int Name{get;set;}
     public ICollection<Role> Roles{get;set;}
}

如何使用EntityFramework ModelBinder进行映射。

1 个答案:

答案 0 :(得分:4)

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<User>()
        .HasMany(u => u.Roles)
        .WithMany()
        .Map(a => {
            a.ToTable("UserRoles");
            a.MapLeftKey("UserId");
            a.MapRightKey("RoleId");
        });
}