2014-03-02 67 views
1

我想從多個字符串匹配中進行選擇。比較具有多個字符串的字符串

條件 -

選擇從CardTagTables其列CardTagName沒有這些strings- String1String2

List<string> stringArray =new List<string>{ "String1", "String2" }; 
var query = (from u in db.CardTables 
      join v in db.CardTagTables 
      on u.CardID equals v.FKCardTagID 
      where u.IsApproved == "YES" && 
        !v.CardTagName.Contains(stringArray.ToString()) 

我想除了在stringArray串僅提取記錄。

有兩個strings- String1String2

回答

1

更換

v.CardTagName.Contains(stringArray.ToString() 

v.CardTagName.Any(element => stringArray.Contains(element)) 
+0

它說我'列表 .Contains(string)'有一些無效的參數。 – user3163213

+0

CardTagName是什麼類型? – nvoigt

+0

'nvarchar'類型。 – user3163213

0

嘗試somethign這樣的:

var result = CardTagTables.Select(x => stringArray.Any(y => x.CardTagName.Contains(y))).ToList(); 

個It's未經測試,但我認爲這是觀念;)

1

你只需要改變Contains秩序,而不是這樣的:

!v.CardTagName.Contains(stringArray.ToString()) 

嘗試:

!stringArray.Contains(v.CardTagName)