2011-07-20 71 views
0

我有一個列表和一個逗號分隔的列值。Linq到列表和逗號分隔字符串的sql

lst.Add("Beauty"); 
lst.Add("Services"); 
lst.Add("Others"); 

和列值是像

Beauty,Services 
Service,Others 
Beauty,Others 
Other,Services 
Other 
Beauty, Food 
Food 

現在我想所有這些包含任何列表項的行。

輸出結果是

Beauty,Services 
Service,Others 
Beauty,Others 
Other,Services 
Other 
Beauty, Food 

首先編輯

這些逗號分隔值是我的表的一個列值之一。 我需要檢查該列。

+1

它有點我不清楚你使用什麼樣的數據結構(S)的。你的意思是說你有一個.csv文件,並且希望將它與列表進行比較,或者是否已經將逗號分隔的值加載到某種數據結構中? –

+0

@SeanThoman我認爲他正在從數據庫中獲取行,我只是從它被問到Linq2Sql – msarchet

+0

@msarchet我猜。這只是令人困惑,因爲據我所知,Linq-to-SQL通常不會產生以逗號分隔的值。他不會只有一個DataTable或某個域對象嗎? –

回答

2

假設你能弄清楚如何獲得RowCollection

RowCollection.Where(row => row.Split(",").ToList().Where(x => list.Contains(x)).Any()).ToList(); 

將評估爲true,如果該行包含從列表中值。

0

嘗試

List<string> lst = ....; // your list of strings 

string[] somecolumnvalues = new string[] { "", "",... }; // your columvalues 

var Result = from l in lst from c in somecolumnsvalues where c.Contains (l) select c;