Entity-framework-command-interception
提供:Dev Guides
Entity Framework-コマンド代行受信
Entity Framework 6.0には、 Interceptor またはInterceptionと呼ばれる別の新機能があります。 インターセプトコードは、*インターセプションインターフェイス*の概念に基づいて構築されています。 たとえば、IDbCommandInterceptorインターフェイスは、EFがExecuteNonQuery、ExecuteScalar、ExecuteReader、および関連するメソッドを呼び出す前に呼び出されるメソッドを定義します。
- Entity Frameworkはインターセプトを使用することで真に輝きます。 このアプローチを使用すると、コードを乱雑にすることなく、より多くの情報を一時的にキャプチャできます。
- これを実装するには、独自のカスタムインターセプターを作成し、それに応じて登録する必要があります。
- IDbCommandInterceptorインターフェイスを実装するクラスが作成されると、DbInterceptionクラスを使用してEntity Frameworkに登録できます。
- IDbCommandInterceptorインターフェイスには6つのメソッドがあり、これらすべてのメソッドを実装する必要があります。 これらのメソッドの基本的な実装は次のとおりです。
IDbCommandInterceptorインターフェースが実装されている次のコードを見てみましょう。
インターセプターの登録
1つ以上のインターセプションインターフェイスを実装するクラスが作成されると、次のコードに示すように、DbInterceptionクラスを使用してEFに登録できます。
インターセプターは、次のコードに示すように、DbConfigurationコードベースの構成を使用してアプリドメインレベルで登録することもできます。
また、コードを使用してインターセプター構成ファイルを構成することができます-