"如果任何包含任何"(dbeexpressionbinding需要输入)
本文关键字:quot dbeexpressionbinding 输入 任何 如果 任何包 | 更新日期: 2023-09-27 18:03:48
我试图建立一个简单的搜索,我传递一个关键字列表。但一旦我添加"any contains keywords"作为列表而不是字符串,我得到:
"DbExpressionBinding requires an input expression with a collection ResultType."
我用
扩展IQueryable<Inspector>
public static IQueryable<Inspector> Search(this IQueryable<Inspector> qry, List<string> keywords)
{
return from i in qry
where
i.LastName.Any(x => keywords.Contains(i.LastName)) ||
i.FirstName.Any(x => keywords.Contains(i.FirstName)) ||
i.City.Any(x => keywords.Contains(i.City)) ||
select i;
}
调用时使用:
return qry.Search(keywords).ToList();
我该如何解决这个问题?
我想你是想明白这个:
return from i in qry
where keywords.Contains(i.LastName) ||
keywords.Contains(i.FirstName) ||
keywords.Contains(i.City)
select i;
这将返回在关键字列表中包含FirstName, LastName或City的任何记录。