是否可以在LINQ中创建相关子查询?

我想创建一个LINQ查询,该查询返回父帐户及其所有子帐户的给定产品编号的所有数量的总和。

我有一个按帐号列出的产品表,其中每行还包含一个数量和父帐号:

PartNumber AccountNumber ParentAccountNumber Qty ---------- ------------- ------------------- --- 1000000390 27113 27173 2 1000000390 27516 27173 1 1000000390 00113 27173 0 1000000390 27748 27173 5 
SELECT * FROM Inventory WHERE ProductNumber='1000000390' AND ParentAccountNumber=(SELECT TOP 1 parentaccountnumber FROM Inventory WHERE accountnumber='27748')
SELECT * FROM Inventory WHERE ProductNumber='1000000390' AND ParentAccountNumber=(SELECT TOP 1 parentaccountnumber FROM Inventory WHERE accountnumber='27748') 

这是纯粹的LINQ语法吗? 我是否需要使用扩展方法语法?

谢谢,-Keith

 from item in Inventory where item.ProductNumber == 1000000390 where item.ParentAccountNumber == (from subitem in Inventory where subitem.AccountNumber == 27748 select subitem.ParentAccountNumber).First() select item 

那样的东西?

你可以替换

  subitem.AccountNumber == 27748 

  subitem.AccountNumber == item.AccountNumber 

如果这就是你想要的