从ef核心中的子集合中删除一些项目

时间:2017-02-24 21:17:51

标签: c# entity-framework-core

我有一个父表和子表,父表与子表有一对多的关系。

我想删除一些孩子,我希望父母的子集合反映出这种变化。

如果我使用android:layout_width="100dp"删除所选子项,则子集合不会更新。如果我使用RemoveRange从子集合中删除子项,那么(显然)它不如使用Remove那样有效。

因此,我必须使用RemoveRange有效删除子项,然后使用RemoveRange将其从子集合中删除。这是正确的还是有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

使用RemoveRange可以节省时间,这是从子集合中删除对象的开销,尤其是在变更跟踪方面,对于使用Remove的每个对象,该跟踪将运行一次,而不是运行一次。 / p>

无论哪种方式,当您调用SaveChanges时,您只会访问数据库一次。

因此,在您的示例中,RemoveRange是多余的,可以省略。