2013-02-06 35 views
1

我有一個存儲庫的方法等,LINQ其中具有容器類型

public List<Township> lst(string multipletownship) 
    { 
     var foo = from x in db.Townships 
        select new { x.TownshipID, x.JTownshipName }; 
     string[] sarr; 
     if (multipletownship.Contains(',')) 
     { 
      sarr = multipletownship.Split(','); 

      foo = foo.Where(s => s.TownshipID == sarr[0] || s.TownshipID==sarr[1]); 
     } 
     else 
     { 
      foo = foo.Where(s => s.TownshipID == multipletownship); 
     } 

multipletownship參數值是1,2。這些是鄉id.The的問題是如何能夠在if condition。它可能認爲過濾townshipid到多個或者我必須做一些循環...

回答

2

如果在multipletownship字符串沒有,,那麼你會得到與單個項目的數組:

public List<Township> lst(string multipletownship) 
{ 
    string[] sarr = multipletownship.Split(','); 
    var foo = from x in db.Townships 
       where sarr.Contains(x.TownshipID) 
       select new { x.TownshipID, x.JTownshipName }; 

    // return 
} 
+0

好吧,我試圖, –

+0

@KhinThuThuMon我更新了答案(我認爲你可以把你的主要查詢中的where子句) –

+1

謝謝你。它節省了我的時間。 –