包含相同对象列表的对象的entity framework映射

目前在我的代码中,我正在做这样的事情

public class Subject { private List _prerequisites; } 

一个科目可以有许多先决条件(也是科目),科目可以是许多科目的先决条件。

我们最初使用类型化数据集将数据保存到数据库,我们的表看起来像这样:

DatabaseDiagram

我们现在想要从使用类型化数据集迁移到entity framework,但我不确定如何创建映射。 从数据库生成EF并不真正起作用,因为它只丢弃每个表并使用外键作为导航属性。 据我所知,EF不需要另一个实体来实现多对多的关系。 如果有人可以提供帮助,那就太好了! 干杯!

弄清楚了。 需要在inheritanceDbContext的类中的OnModelCreating方法中覆盖此默认模型构建。

 protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity(). HasMany(m => m.Prerequisites). WithMany() .Map(m => { m.ToTable("SubjectPrerequisite"); m.MapLeftKey("SubjectId"); m.MapRightKey("PrerequisiteId"); }); }