Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 具有两个属性的EF多对多_Entity Framework_Entity Framework 4.1 - Fatal编程技术网

Entity framework 具有两个属性的EF多对多

Entity framework 具有两个属性的EF多对多,entity-framework,entity-framework-4.1,Entity Framework,Entity Framework 4.1,我有一个示例代码: public class Tag { public int TagId { get; set; } public virtual ICollection<User> Users { get; set; } } public class User { public int UserId { get; set; } public virtual ICollection<Tag> Tags { get; set; } }

我有一个示例代码:

public class Tag
{
    public int TagId { get; set; }
    public virtual ICollection<User> Users { get; set; }
}

public class User
{
    public int UserId { get; set; }
    public virtual ICollection<Tag> Tags { get; set; }
}
公共类标记
{
public int TagId{get;set;}
公共虚拟ICollection用户{get;set;}
}
公共类用户
{
public int UserId{get;set;}
公共虚拟ICollection标记{get;set;}
}
当我在我的模型上运行EF时(我使用代码优先的方法),我会在数据库中自动创建一些表:

Users
Tags
UserTagUsers <-- junction table for many-to-many relationship
用户
标签

UserTagUsers使用fluent API配置映射

    modelBuilder.Entity<User>()
    .HasMany(u => u.Tags).WithMany(t => t.Users)
    .Map(m =>
    {
        m.ToTable("UserTags");
        m.MapLeftKey("UserId");
        m.MapRightKey("TagId");
    });

    modelBuilder.Entity<User>()
    .HasMany(u => u.Tags2).WithMany(t => t.Users2)
    .Map(m =>
    {
        m.ToTable("UserTags2");
        m.MapLeftKey("UserId");
        m.MapRightKey("TagId");
    });
modelBuilder.Entity()
.HasMany(u=>u.Tags)。WithMany(t=>t.Users)
.Map(m=>
{
m、 ToTable(“用户标签”);
m、 MapLeftKey(“用户ID”);
m、 MapRightKey(“TagId”);
});
modelBuilder.Entity()
.HasMany(u=>u.Tags2)。WithMany(t=>t.Users2)
.Map(m=>
{
m、 ToTable(“UserTags2”);
m、 MapLeftKey(“用户ID”);
m、 MapRightKey(“TagId”);
});
    modelBuilder.Entity<User>()
    .HasMany(u => u.Tags).WithMany(t => t.Users)
    .Map(m =>
    {
        m.ToTable("UserTags");
        m.MapLeftKey("UserId");
        m.MapRightKey("TagId");
    });

    modelBuilder.Entity<User>()
    .HasMany(u => u.Tags2).WithMany(t => t.Users2)
    .Map(m =>
    {
        m.ToTable("UserTags2");
        m.MapLeftKey("UserId");
        m.MapRightKey("TagId");
    });