Entity framework 为什么HasMany()会生成错误的(?)架构

Entity framework 为什么HasMany()会生成错误的(?)架构,entity-framework,ef-code-first,Entity Framework,Ef Code First,我首先用fluentapi映射模型代码,以生成模式。兴趣点是 public class RoleMapping : EntityTypeConfiguration<Role> { public RoleMapping() { // ... this.HasMany(r => r.Permissions).WithMany(); } } 为什么会这样呢?啊,我错了 将映射添加到模型生成器时我缺少的内容: protected

我首先用fluentapi映射模型代码,以生成模式。兴趣点是

public class RoleMapping : EntityTypeConfiguration<Role>
{
    public RoleMapping()
    {
        // ...
        this.HasMany(r => r.Permissions).WithMany();
    }
}
为什么会这样呢?

啊,我错了

将映射添加到模型生成器时我缺少的内容:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);

    modelBuilder.Configurations.Add(new RoleMapping());
    modelBuilder.Configurations.Add(new PermissionMapping());

    // other mapping configurations
}

你认为这有什么不对吗?第三张桌子不见了。这毕竟是多对多。看来我在别处犯了个错误。请查看我的下一条评论(如果允许,稍后将发布答案)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);

    modelBuilder.Configurations.Add(new RoleMapping());
    modelBuilder.Configurations.Add(new PermissionMapping());

    // other mapping configurations
}