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

发布于 2024-08-20 21:21:18 字数 686 浏览 6 评论 0原文

我想创建一个 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')


这在纯 LINQ 语法中可能吗?我需要使用扩展方法语法吗?

谢谢, -基思

I'd like to create a LINQ query that returns the sum of all quantities for a given productnumber for a parent account and all it's child accounts.

I have a table of products by account number in which each row also contains a qty and the parent account number:


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')


is this possible in pure LINQ syntax? Do I need to use extension method syntax instead?

Thanks,
-Keith

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

听风念你 2024-08-27 21:21:18
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

如果您想要的话,

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

Something like that?

You can replace

  subitem.AccountNumber == 27748

with

   subitem.AccountNumber == item.AccountNumber

if that's what you wanted

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文