IDbCommandInterceptor
Entity Framework クエリをキャッチするために使用しています。このようにして、DbParameter
sDbCommand
などの重要な情報にアクセスできます。
しかし、このクエリが呼び出された場所も取得する必要があります。を使用してこれを取得しようとしましたStackTrace
:
StackTrace stackTrace = new StackTrace();
System.Reflection.MethodBase methodBase = stackTrace.GetFrame(1).GetMethod();
これは通常のメソッド呼び出しで機能する可能性がありますが、この例では Entity Framework メカニズムをインターセプトしているため、コードで呼び出し元のメソッドを取得できないことがわかります。
Entity Framework クエリが実行されたときに、呼び出し元のメソッド名を自動的に取得することは可能ですか?