私はこのクエリをLINQで翻訳したいと思っています...純粋なSQLで作成したものの、動的に作成したLINQクエリ(ユーザー入力に基づいて検索クエリを作成する)では非常に簡単です。全く新しい話。LINQでこのクエリを翻訳していますか?
今SELECT * FROM MyTable
WHERE 1=1
AND Column2 IN (1,2,3)
AND (Column1 LIKE '%a%' OR Column1 LIKE '%b%')
これを構築しようとする私たちは、このようにそれを試してみました:
if(myOjb.Column2Collection != null)
query = query.where(f => f.Column2.Contains(myOjb.Column2Collection));
if(myObj.Column1Collection != null)
{
// tough part here ?
//query = query.Where(); ...
}
だから何が正常にこれに最善のaproachだろうか?私はここでそれを実装する方法を理解することはできませんカントー、SqlMethod.Likeを認識してい
注...
WHERE 1 = 1の目的は何ですか?それは単に「真実」を意味するものではなく、違いを生じさせませんか? – Marcus
@ G_M - これは通常、動的SQLを構築するときに行われ、既存のwhere句のチェックを続ける必要はありません。 – Oded
ORを動的に処理する方法はあなたの質問ですか? – JohnOpincar