entity-framework-4 - 如何在 Entity Framework CTP5中映射多对多关系?

标签 entity-framework-4 entity-framework-ctp5

我正在尝试使用 3 个表(用户 - 联结表 - 语言)映射 2 种类型(用户 -> 语言),并且看起来模型构建器期望两种类型相互引用(例如 user.languagesSpoken) ,和语言。UsersSpeaking)。所以基本上我可以构建类似
的东西 modelBuilder.Entity<User>().HasMany(x=>x.LanguagesSpoken).WithMany(x=>x.UsersSpeaking)
然而,我不需要从语言到用户的引用 - 并且无法弄清楚如何映射它..
另外,有没有办法指定连接表名称?

谢谢!

最佳答案

下面的方法可以解决这个问题:

public class User
{
    public int UserId { get; set; }
    public virtual ICollection<Language> LanguagesSpoken { get; set; }
}

public class Language
{
    public int LanguageId { get; set; }
    public int Name { get; set; }
}        

public class Context : DbContext
{
    public DbSet<User> Products { get; set; }
    public DbSet<Language> Languages { get; set; }        

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<User>()
                    .HasMany(x => x.LanguagesSpoken)
                    .WithMany()
                    .Map(c => 
                    { 
                        c.ToTable("yourDesiredName"); 
                    });
    }
}    

关于entity-framework-4 - 如何在 Entity Framework CTP5中映射多对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5188958/

相关文章:

c# - Entity Framework 代码优先 : How can I cast a set of entities returned from the database?

entity-framework - 我看不到带有 POCO 类的 DbContext 中的存储过程

entity-framework-4 - Entity Framework 4.1 - 选择

entity-framework - Entity Framework SET IDENTITY_INSERT

entity-framework-4 - Entity Framework 4 : Does it make sense to create a single diagram for all entities?

c# - 基于抽象实体的预加载嵌套导航问题(EF CTP5)

c# - 如何在 Entity Framework 中只加载基本类型

c# - SNIReadSyncOverAsync 和 WaitForSingleObject 阻塞 EF 性能?

.net - Entity Framework CTP5 代码优先 : How do I specify the type of the discrimimator column in Table-Per-Hierarchy Mapping?

c# - 存储库模式和导航属性