2013-04-24 48 views
0

我有一個IList,通過linq查詢一個表中的實體。通過其他一些手段,我也獲得了一個數據表以及表示數據庫中的表。兩個表都有相同的列。我想搜索那些在IList中可用但不在數據表中的EmployeeID。任何請建議如何使用linq語句來做到這一點。我在網上搜索,發現很多條款,但我仍然很困惑如何做到這一點。Linq IList與數據表之間的聲明

例如,我發現後

from c in db.Customers 
where !db.Products.Any(p => p.ProductID == c.ProductID) 
select c; 
+0

可您發佈'DataTable'代碼? – mattytommo 2013-04-24 18:59:16

+0

假設兩者都有[ID,EmployeeID,Name,Designation]列,我必須在EmployeeID的基礎上進行搜索 – Tanveer 2013-04-24 19:05:29

回答

2

這段代碼假設這些:

DataTable dt; //your datatable 

var results = from c in db.Customers 
       where !db.Products.Any(p => p.ProductID == c.ProductID) 
       select c; 

然後,您可以做:

var ids = results 
    .Where(r => !dt.Rows.AsEnumerable 
     .Any(d => d.ItemArray["EmployeeID"] == r.EmployeeID) 
    .Select(r => r.EmployeeID);