2013-02-27 42 views
0

我有以下查詢,我想過濾掉刪除某些代碼。這是一個工資計算程序,並根據運行它的用戶,它應該只允許在一個用戶列表員工的缺失:從上面的查詢Linq To SQL其中條件與IEnumerable

IEnumerable<int> employeeIdList; <----contains employee Ids under a certain user 

var processDataTemps = tempProcessDataService.GetAllProcessDataTemps(); 

樣品結果

Code Name U_Employee_ID U_month U_PD_code U_Amount U_Balance U_taxyear  
0  0  1    2  SYS037 24308.500000 0.000000 2013 
1  1  1    2  SYS014 50470.000000 0.000000 2013 
10 10 8    2  SYS024 7541.000000 0.000000 2013 
13 13 7    2  SYS037 7541.000000 0.000000 2013 
17 17 7    2  SYS024 7541.000000 0.000000 2013 

我的問題是怎麼做的我修改processDataTemps查詢以僅返回IEnumerable employeeIdList中包含的員工ID的代碼(Code列)?

即,這樣,如果employeeIdList只包含1和7,修改後的processDataTemps查詢應返回Code值0,1和13和17 (使用SQL Server 2008)

回答

1

假設你使用的是C#:

var processDataTemps = tempProcessDataService.GetAllProcessDataTemps() 
              .Where(d => employeeIdList.Contains(d.U_Employee_ID)) 
              .Select(d => d.Code); 
+0

感謝RobJohnson。 – 2013-02-27 13:03:54