次のように式を作成する必要があります。
Expression<Func<MyDataSet, bool>> searchfilter = null;
string[] strsearchvalues = Searchvalues.Split(',');
searchfilter = p => p.searchcolumn.contains(strsearchvalues[0]) && p.searchcolumn.contains(strsearchvalues[1]) && ....
私はこれを試しましたが、機能しません:
Expression<Func<MyDataSet, bool>> columnfilter = null;
foreach(var s in strsearchvalues)
{
columnfilter = p => p.searchcolumn.contains(s);
searchfilter = columnfilter.And(columnfilter);
}
検索値が「bobSmith」の場合、「bobysmither」や「smitherboby」のように、列にbobとsmithの両方が含まれる結果を返します。上記のコードでは、「bobysomething」または「smithsomething」を返します。 '。
ループを使用して式を作成して実行するにはどうすればよいですか?
ありがとう!