我目前有一个查询(这里是伪代码!),例如:
var query = p.Companies.Any((a => a.Name != "" || a.Name.Contains(variable1) &&
(a => a.Description != "" || a.Description.Contains(variable2));
现在,显然这是我正在尝试做的事情的简化版本,因为还有更多字段供我检查,但我的答案的基础是 - 我可以创建一个以这样的方式构建的函数/表达式它只生成它需要的SQL?
如:
Expression<Func<Company, bool>> companyQuery;
if(!String.IsNullOrEmpty(variable1)) {
// build up my expression
}
// Pass expression through to query when finalized
有什么想法吗?谢谢!