EF多对多:A有很多B,B不需要知道

时间:2014-02-22 12:30:19

标签: entity-framework ef-code-first

说我有以下内容。请注意,类别不需要引用与其关联的项目。有没有办法配置它,或者惯例是否规定我应该在我的Category模型中抛出一组Projects?

public class Project
{
    public Guid Id { get; set; }

    public virtual ICollection<Category> Categories { get; set; }
}

public class Category
{
    public Guid Id { get; set; }
}

有一些类似的问题,但答案似乎并没有解决它。

更新: 正如我想的那样,我确实需要有那个中间表,但EF按照Moho的回答为我做了。

2 个答案:

答案 0 :(得分:3)

使用Fluent API:

modelBuilder.Entity<Project>()
    .HasMany( p => p.Categories )
    .WithMany();

答案 1 :(得分:0)

这可以使用Fluent api:

modelBuilder.Entity<Project>()
.HasMany(p => p.Categories)
.WithMany() 
.Map(m =>
{
    m.MapLeftKey("Id");
    m.MapRightKey("Id");
    m.ToTable("ProjectsCategories");
});