我想做一个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我怎样才能做到这一点?
发布于 2015-12-10 18:52:57
var search = from a in Context.data
where string.IsNullOrWhitespace(txtKeyword.Text)
|| a.Name.Contains(txtKeyword.Text.Trim())
select a;发布于 2015-12-10 18:52:45
对于查询生成器来说,查询表达式似乎太复杂了。
我会像这样把代码分开:
var search = Context.data;
string filter = txtKeyword.Text.Trim();
if (!string.IsNullOrEmpty(filter))
search = search.Where(a => a.Name.Contains(filter));发布于 2015-12-10 18:52:37
var search = from a in Context.data
where txtKeyword.Text.Trim().Any()
|| a.Name.Contains(txtKeyword.Text)
select a;https://stackoverflow.com/questions/34209457
复制相似问题