Funcの形式で述語を翻訳するためにL2Sプロバイダを呼び出す方法 SQL where節に?

dapper linq-to-sql predicate sql sql-server-2008

質問

私はアプリケーションでL2Sを使用していますが、私はクエリのパフォーマンスに重大な問題があり、厄介なn + 1が問題を選択しているため、 dapper.netにますます切り替えています。

その正常に動作しますが、私はデータをフィルタリングするときに、述語を記述するのに快適なLINQishスタイルが欠けています。

だから私の質問は、どのように私はFunc<T, bool>形で述語を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句を呼び出して取得します。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow