【发布时间】:2015-07-31 05:50:57
【问题描述】:
我正在尝试使用此答案将 OR 运算符动态添加到 LINQ 中的 WHERE 子句:https://stackoverflow.com/a/782350/1316683
var searchPredicate = PredicateBuilder.False<Songs>();
foreach(string str in strArray)
{
var closureVariable = str;
searchPredicate =
searchPredicate.Or(SongsVar => SongsVar.Tags.Contains(closureVariable));
}
var allSongMatches = db.Songs.Where(searchPredicate);
在我的情况下,标签是一个列表
searchPredicate.Or(SongsVar => SongsVar.Tags.Any().TagName.Contains(closureVariable));
然后我想到了这样的东西,它不起作用:
searchPredicate.Or(x => x.Tags.Where(p => p.TagName.Contains(closureVariable )).Count() > 0);
这可能吗?
【问题讨论】:
标签: c# linq predicatebuilder