efコアの子コレクションからいくつかのアイテムを削除する

c# entity-framework-core

質問

私は、親テーブルと子テーブルを持っています。ここでは、親テーブルと子テーブルは、親テーブルと子テーブルとの間に1対多の関係があります。

私は子供の一部を削除したい、私は親の子コレクションにその変更を反映させたい。

RemoveRangeを使用して選択した子を削除すると、子コレクションは更新されません。 Removeを使用して子コレクションから子を削除すると(明らかに)、 RemoveRangeを使用するほど効率的ではありません。

そこでRemoveRangeを使用して子を効率的に削除し、次にRemoveを使用して子コレクションから子を削除する必要があります。これは正しいのですか、それを行う良い方法がありますか?

人気のある回答

RemoveRangeを使用すると、子コレクションからオブジェクトを削除する際のオーバーヘッドになります。特に、 Removeを使用してオブジェクトごとに1回ではなく1回実行される変更トラッキングを中心にしています。

どちらの方法でも、 SaveChangesを呼び出すと、データベースへのトリップは1回だけになります。

したがって、あなたの例では、 RemoveRangeは冗長であり省略することができます。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ