如何将此连接转换为LINQ语法?

本文关键字:LINQ 语法 转换 连接 | 更新日期: 2023-09-27 17:50:13

我想检索X = 14产品使用的所有工具,我如何将此选择转换为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=>, ...)

如何将此连接转换为LINQ语法?

如果外键设置正确,实体框架应该会选择这种关系,并且您应该能够简单地执行:

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