何が生成されているかを調査できるように、長時間実行されているエンティティフレームワークのlinqクエリをログに記録できるようにしたいと思います。Entity Frameworkのlinqクエリがあり、Visual Studioデバッガーでその上にマウスを置くと、エンティティフレームワークがSQLサーバーに送信する生成されたSQLの文字列表現が表示されることがわかりました。
この文字列を取得してログファイルに出力するにはどうすればよいのでしょうか。
何が生成されているかを調査できるように、長時間実行されているエンティティフレームワークのlinqクエリをログに記録できるようにしたいと思います。Entity Frameworkのlinqクエリがあり、Visual Studioデバッガーでその上にマウスを置くと、エンティティフレームワークがSQLサーバーに送信する生成されたSQLの文字列表現が表示されることがわかりました。
この文字列を取得してログファイルに出力するにはどうすればよいのでしょうか。
やってみましたかToString()
;
var query = context.Products.Where(p=>p.IsActive);
var queryText = query.ToString();
EntityFramework用のこのロギングプロバイダーを見てください