2014-02-21 67 views
0

基本上,我想查看給定的字符串是否包含在四個數據庫條目之一中。我想要做的事情 例子:如何在LINQ中使用OR語句Where語句

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)); 
} 

我怎麼能在一個適當的

聲明寫?

+0

請不要在標題的languge標籤,除非它不會沒有它是有道理的。標籤用於此目的。 –

回答

6

您應該創建一個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)); 
    } 
+0

這太奇怪了,我試過了,但我想我的視覺工作室正在表演。對不起,這個愚蠢的問題 – user977154

2

像這樣:

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