アプリケーションのパフォーマンスの問題のため、私のプロジェクトの 1 つでメモリ内アプローチを使用しています。このアプローチでは、すべてのテーブルをジェネリック コレクションの形式で RAM にロードしています (nhibernate を使用)。
問題は、単純な linq to sql アプローチを使用していたときに、テスト チームと QA チームが、表示しているページの sql プロファイルを使用して sql クエリを簡単に取得できたことです。
しかし、新しいアプローチ (メモリ内) では、コレクション内のすべてのデータを一度に読み込んでから、linq を使用してそのコレクションからデータを取得しているため、テスト チームと QA チームはビジネスを検証するための SQL クエリを取得できません。ロジックとバグの検証。
この状況で役立つ解決策を提案してください。linq からオブジェクトに sql を取得することは不可能だと思います (すべてのデータが既にコレクションに含まれているため)。コレクションまたはその他の適切なソリューションに対して実行されているlinqのSQLを生成するために、私を助けることができるソリューション/アプローチ/ツールを提案してください。
注: 私は linq から sql への sql の取得が不可能であることを知っています。QA およびテスト チームがクエリ/ビジネス ロジックを検証するのに役立つ提案を探しています (以前は sql をキャプチャして行っていたように)。可能であれば、実行/分析にさらに使用できる文字列としてlinqクエリをログに記録します。