加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

linq-to-sql – Linq To Sql’Where Or’运算符

发布时间:2020-12-12 06:51:17 所属栏目:MsSql教程 来源:网络整理
导读:我需要创建一个查询,检查字段(字符串)是否包含运行时提供的一个或多个单词. 基本上我需要能够问一个WhereOr问题.在处理LinqToSql时,这似乎应该是一个常见问题. 我发现了以下reference,但是它没有意义 – 并且不知道如何在我的项目中使用它. 我尝试了以下循环
我需要创建一个查询,检查字段(字符串)是否包含运行时提供的一个或多个单词.

基本上我需要能够问一个WhereOr问题.在处理LinqToSql时,这似乎应该是一个常见问题.

我发现了以下reference,但是它没有意义 – 并且不知道如何在我的项目中使用它.

我尝试了以下循环:

var query = from d in context.Domains select d;
        for (int i = 0; i < words.Length; i++)
        {
            query = query.Where(d => d.Name.Contains(words[i]));
        }

但这会构建一个带有WHERE AND子句的SQL查询,而不是OR

解决方法

我用 PredicateBuilder这样的东西.

谓词结构如下所示:

var query = from d in context.Domains select d;
     var predicate = PredicateBuilder<Domains>.False();

     for (int i = 0; i < words.Length; i++)
        {
            predicate = predicate.Or(d => d.Name.Contains(words[i]));
        }
    query = query.Where(predicate);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读