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