在EF Core中从子集合中删除一些项

3
我有一个父表和子表,其中父表与子表存在一对多的关系。
我想删除一些子项,并希望父表的子集合反映这种变化。
如果我使用“RemoveRange”删除选定的子项,则子集合不会更新。如果我使用“Remove”从子集合中删除子项,那么(显然)它的效率不如使用“RemoveRange”。
因此,我必须使用“RemoveRange”高效地删除子项,然后使用“Remove”将其从子集合中删除。这样做正确吗?还是有更好的方法?

我简直不敢相信还没有人回答这个问题。处于前沿的问题就在于专家数量还不够。 - Dib
1个回答

0
使用RemoveRange,您可以节省在从子集合中删除对象时的开销,特别是在更改跟踪方面,它只会运行一次,而不是每个对象都运行一次Remove
无论哪种方式,当您调用SaveChanges时,您只需要进行一次数据库访问。
因此,在您的示例中,RemoveRange是多余的,可以省略。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接