2011-04-12 32 views
1

我想檢索X = 14產品使用的所有工具,如何將此選擇轉換爲LINQ?如何將此連接轉換爲LINQ語法?

SELECT DISTINCT t.* FROM Product p 
INNER JOIN ProductTool pt ON pt.Product_ID = p.ID 
INNER JOIN Tool t ON t.ID = pt.Tools_ID 
WHERE p.X = 14 

GroupJoin我需要什麼或什麼?

tools.GroupJoin(products, t=>, p=>, ...) 
products.GroupJoin(tools, p=>, t=>, ...) 

回答

3

如果你有正確的外鍵的設置,實體框架應選擇那些關係了,你應該能夠簡單地做:

var tools = from p in products where p.X == 14 select p.Tool;

+0

謝謝,這啓發了我很多...其實它非常簡單'return context.Product.Where(p => pX == id).SelectMany(t => t.Tools).Distinct()。ToList();' – BrunoLM 2011-04-12 17:52:25