次のような文字列を指定します。
var filterOptions = "First Bank";
また、Grantee 列と Grantor 列を持つテーブルで、次の where 句を生成する EF を使用してクエリを作成するにはどうすればよいですか。
... where (Grantor like '%First%' and Grantor like '%Bank%') or (Grantee like '%First%' and Grantee like '%Bank%')
filterOptions は渡されるパラメーターであるため、2 つではなく 3 つまたは 4 つの単語を簡単に含めることができることに注意してください。その場合、各列には追加の like 句が必要になります。
この OR の部分がなかったら、次のようにします (これは、私が達成しようとしていることをよりよく理解するのに役立ちます。
foreach(var word in filterOptions)
{
var text = "%" + word + "%";
query = query.Where(r => SqlMethods.Like(r.Grantee,text));
}
私が言ったように、OR部分を他の列に追加しようとすると、ループが発生します。