关于如何充分利用 PredicateBuilder 的快速问题。它的工作原理如下:
IQueryable<Product> SearchProducts (params string[] keywords)
{
var predicate = PredicateBuilder.False<Product>();
foreach (string keyword in keywords)
{
string temp = keyword;
predicate = predicate.Or (p => p.Description.Contains (temp));
}
return dataContext.Products.Where (predicate);
}
问题是,如果我还想通过任意成员进行搜索,即传递函数 string[] 作为关键字,还要传递要搜索的字段,例如 fieldToSearch,并替换 p=> p.Description,该怎么办。包含(温度));允许通过 fieldToSearch 进行搜索?
这可能吗,这是一个坏主意吗?