目前在我的代码中我正在做这样的事情
public class Subject
{
private List<Subject> _prerequisites;
}
一个科目可以有许多先决条件(也是科目),并且科目可以是许多科目的先决条件。
我们最初使用类型化数据集将数据保存到数据库中,我们的表如下所示:
我们现在希望从使用类型化数据集迁移到实体框架,但我不确定如何创建映射。从数据库生成 EF 并没有真正起作用,因为它只是删除每个表并使用外键作为导航属性。据我了解,EF 不需要另一个实体来实现多对多关系。如果有人可以提供帮助,那就太好了!干杯!
弄清楚了。需要在继承 DbContext 的类的 OnModelCreating 方法中重写默认的模型构建。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Subject>().
HasMany(m => m.Prerequisites).
WithMany()
.Map(m =>
{
m.ToTable("SubjectPrerequisite");
m.MapLeftKey("SubjectId");
m.MapRightKey("PrerequisiteId");
});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)