詳細なパフォーマンス統計を得る手段として、データベースクエリをインターセプトする方法を探しています。私は、クエリの数、クエリの継続時間、結果のデータ(データの大きさの考え方)、理想的にはLINQの式へのアクセスの後にいます。EFコアでのデータベースアクセスの傍受
基本コンテキストクラスを拡張し、別のメソッドを作成してDbSet
を取得し、そこにラッパーを戻すことができますが、1)ハッキリしているはずです.2)コードがありません。私はコードを見てきた
...実際のデータベースアクセス対キャッシュされた結果を得て区別しExecutionStrategyFactory
またはDatabase
が進むべき道である包むように感じる - と私は前者RelationalDbContextOptionsBuilder
に拡張メソッドを作成する、またはすることができながら/ /サービスを置き換えると、いずれかのラッピング方法がわかりません。そのため、基本となるプロバイダの実装がまだ使用されています。
(参照:https://github.com/aspnet/EntityFramework/issues/6967)このにフックするためにまともな場所は
ありますか?他の誰の参照のために
そして、EFCore 2.0ではどうしていますか? IDatabaseProviderServicesに問題があります。私のVisual Studioはそれを見つけることができず、私はそれがもうそこにないと信じています。 –