我首先使用实体框架 5 代码构建了一个应用程序,其中我首先针对现有数据库使用代码。我有两个实体,Foo 和 Bar,它们使用 sql server 中的一个表通过多对多关系连接,两个表中的每一个都有外键。在代码中,这两种实体类型都有一个集合,在 dbcontext 中它们被映射在一起,如下所示:
modelBuilder.Entity<Foo>()
.HasMany(e => e.Bars)
.WithMany(s => s.Foos)
.Map(l =>
{
l.ToTable("FooBar");
l.MapLeftKey("FooId");
l.MapRightKey("BarId");
}
);
问题是我可以通过将彼此添加到他们的集合并保存来添加实体之间的关系,但是当我做相反的事情时,从他们的集合中删除彼此,关系表中的记录不会被删除。