小编Bri*_*nha的帖子

使用IQueryable创建动态查询

我正在尝试遍历字符串数组并动态创建IQueryable查询。它非常简单,但这就是我遇到的问题

var query = context.QuestionsMetaDatas.AsQueryable();

var keywords=new List<string>(){ "Test1","Test2" };

foreach(var key in keywords)
{
   query=query.Where(a=>a.Text.Contains(key));
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当查询生成时,它会编译为

select * from QuestionsMetaDatas where Text Like "Test1" AND Text Like "Test2"
Run Code Online (Sandbox Code Playgroud)

而不是AND我希望查询生成OR...现在如何实现呢?

c# sql linq iqueryable

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1

iqueryable ×1

linq ×1

sql ×1