如果我删除两个EF实体之间的两个关系中的一个,另一个也会被删除

本文关键字:删除 两个 一个 另一个 之间 EF 实体 如果 关系 | 更新日期: 2023-09-27 18:05:30

我有两个具有多对多关系的实体,它们是UserTestUser实体有IList<Test> Tests, Test实体有IList<User> Users

我已经得到了一个变量调用myTest,这是之前得到的:

var myTest = db.Tests.Find(someId);

如果我想快速地从一些User对象和MyTest中删除一个关系,我可以这样做吗?

myTest.Users.Clear();
db.SaveChanges();

或者我必须这样做?

foreach(user in myTest.Users)
{
  user.Tests.Remove(myTest)
}
myTest.Users.Clear();
db.SaveChanges();

如果我删除两个EF实体之间的两个关系中的一个,另一个也会被删除

关系是同步的,所以从任何一边删除就足够了。