我有以下课程
public class ObjectA{
private List<ObjectB> list;
}
ObjectA和ObjectB处于N:N关系
如何删除两者之间的所有关系?
似乎list.clear()没有做这项工作
感谢。
答案 0 :(得分:1)
如果实体附加到上下文list.Clear()
将完成工作,例如:
using (var ctx = new MyContext())
{
var objectA = ctx.ObjectAs.Include("list").Single(o => o.Id == someId);
objectA.list.Clear();
ctx.SaveChanges();
}
答案 1 :(得分:0)
list.Clear()在连接模式下运行正常,但它需要所有B记录属于从数据库中提取的A。如果B太多(实际上很少发生),有时可能会损害性能。在这种情况下,您还可以使用store procedure或context.Database.ExecuteSqlCommand(“delete from ...”)手动删除关系表中的关系。