2013-07-09 37 views
0

我正在開發一個ASP.NET MVC應用程序。我有兩個查詢,我想從這兩個查詢中獲得評論記錄。當連接語句用於兩個查詢時給出錯誤的記錄

查詢一個

var poList = (from po in db.PurchaseOrders 
       where po.Id > 0 
       select po into newPO 
       select new { Name = newPO.PONo, Id = newPO.Id }); 

查詢的兩個

var poList2 = (db.Employees.Where(x => x.Id == 25) 
       .Select(po => new { Name = po.PONo, Id = po.Id })); 

現在我想從上面兩個查詢得到共同的記錄,使用下面的語句

poList.Join(poList2, a => a.Name, b => b.Name, (a, b) => new { Name = b.Name, Id = b.Id }); 

,但我沒有得到常見的記錄。

我必須在聲明中做出什麼改變?

+0

爲什麼你需要在第一個查詢中選擇po進入newPO? –

回答

1

如果「共同記錄」意味着有相同NameId記錄,你可以使用Intersect擴展方法。

var result = poList.Intersect(poList2);