如何在 LINQ Where 语句中使用 OR 语句

  • 本文关键字:语句 OR Where LINQ c# linq
  • 更新时间 :
  • 英文 :


基本上,我想看看给定的字符串是否包含在四个数据库条目之一中。我想做的事情的例子:

if (!String.IsNullOrEmpty(searchTagName))
{
   Articles = Articles.Where(b => b.Tag1.Contains(searchTagName));
   OR
   Articles = Articles.Where(b => b.Tag2.Contains(searchTagName));
   OR
   Articles = Articles.Where(b => b.Tag3.Contains(searchTagName));
   OR
   Articles = Articles.Where(b => b.Tag4.Contains(searchTagName));
}

我怎样才能写得正确

陈述?

你应该用它创建一个 lambda 表达式:

    if (!String.IsNullOrEmpty(searchTagName))
    {
       Articles = Articles.Where(b => 
                b.Tag1.Contains(searchTagName) ||
                b.Tag2.Contains(searchTagName) || 
                b.Tag3.Contains(searchTagName) ||
                b.Tag4.Contains(searchTagName));
    }

像这样:

if (!String.IsNullOrEmpty(searchTagName))
{
   Articles = Articles.Where(b => 
                    b.Tag1.Contains(searchTagName) 
                 || b.Tag2.Contains(searchTagName) 
                 || b.Tag3.Contains(searchTagName) 
                 || b.Tag4.Contains(searchTagName));
}

最新更新