次の方法で共有


ChangeTracker.Clear メソッド

定義

現在追跡されているすべてのエンティティの追跡を停止します。

public virtual void Clear ();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Overridable Sub Clear ()

注釈

DbContext は、作業単位ごとに新しいインスタンスが作成される短い有効期間を持つよう設計されています。 この方法は、各作業単位の終了時にコンテキストが破棄されると、追跡対象のすべてのエンティティが破棄されます。 ただし、このメソッドを使用して追跡対象のすべてのエンティティをクリアすると、新しいコンテキスト インスタンスの作成が実用的でない場合に役立つ場合があります。

このメソッドは、追跡対象のすべてのエンティティをデタッチするよりも常に優先する必要があります。 エンティティのデタッチは、副作用が発生する可能性のある低速なプロセスです。 このメソッドは、追跡されているすべてのエンティティをコンテキストからクリアする方がはるかに効率的です。

エンティティは個別にデタッチされないため、このメソッドではイベントは生成 StateChanged されないことに注意してください。

詳細と例については、「 EF Core 変更の追跡 」を参照してください。

適用対象