我想做一个 linq, "当txtKeyword.Text为空时,查询将返回所有数据,否则返回包含txtKeyword.Text的数据。"
var search = from a in Context.data
where txtKeyword.Text.Trim().Count() > 0 ? a.Name.Contains(txtKeyword.Text.Trim()) : true
select a;
Error:
DbExpressionBinding requires an input expression with a collection ResultType.
Parameter name: input
我怎样才能实现它?
最佳答案
对于查询构建器来说,查询表达式似乎太复杂了。
我会像这样分离代码:
var search = Context.data;
string filter = txtKeyword.Text.Trim();
if (!string.IsNullOrEmpty(filter))
search = search.Where(a => a.Name.Contains(filter));
关于c# - LINQ 按文本搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34209457/