質問: 私はアプリケーションでL2Sを使用していますが、私はクエリのパフォーマンスに重大な問題があり、厄介なn + 1が問題を選択しているため、 dapper.netにますます切り替えています。 その正常に動作しますが、私はデータをフィルタリングするときに、述語を記述するのに快適なLINQishスタイルが欠けています。 だから私の質問は、どのように私は`Func`形で述語をSQL Server where節に変換することができますか? 私は誰かが前にこれをやったに違いないと思うのですか、あるいは大事なユーザーがSQLステートメントを手書きしているのでしょうか? タイトルが示唆しているように、LINQ2SQLプロバイダをSQL Serverに呼び出すことはおそらくオプションですか? 基本的に私は動的linqの逆のようなものを探しています。
回答: LINQによって生成されたSQLを表示する方法があります。 Visual Studio MagazineからLINQ to Entity Queriesによって生成されたSQLの参照記事を参照してください。 あなたが何をしているのかが分かりましたので、もう少し詳しく検討し、一見価値のある関連記事をいくつか見つけました: Dynamic where where節は StringBuilderを使用することを示唆していますが、コメントの1つはSam Saffronの記事、 大正義のためにLINQ-2-SQLをDapperに移植することを指しています。 Linq-to-Sql式を使用してSQL句を生成します .LINQ Whereを使用して、生成されたSQLからWHERE句を呼び出して取得します。