【发布时间】:2019-12-09 14:08:28
【问题描述】:
) 我有一个关于分组和总结两个不同类型列表的问题。 情况: 我有一个股票(我们称之为 stockA),有一个桶、参考编号、碎片和更多字段...... 在 stockB 中,我们只得到了参考 nr 和 pieces
stockA
------
BucketNo [varchar(7)]
ReferenceNo [varchar(13)]
Productionpieces [int]
stockB
------
ReferenceNo [varchar(13)]
pieces [decimal(18,2)]
数据随 EF 一起提供(效果很好!)
在我的程序中,我想将参考 nr 分组并组合成字典 (?)。 在运行时,我必须经常访问一个密钥。获取碎片并减去一个值。 在我的脑海里有一本字典,在运行时我想访问密钥 dict[x].pieces -= 50;
此语句附带 SQL 的正确数据:
SELECT REPLACE(ReferenceNo,' ','') as ReferenceNo,
CONVERT(bigint,ISNULL(SUM(Pieces),0) + SNULL(SUM(Productionpieces ),0)) as Productionpieces
from stockA
LEFT JOIN stockB on stockA.ReferenceNo = stockB.ReferenceNo
where ReferenceNo <> NULL
GROUP BY ReferenceNo
我尝试了几种方法来获取 KeyValuePair 对象,但在运行时我得到了相同的键异常,我想我没有加入其他数据元组。 在故事的最后,我只想组合两个列表,求和并获取键值对! 也许你有一个很好的例子给我?
【问题讨论】:
-
不清楚你在问什么。您想按参考编号对所有部分进行分组并对这些部分的值求和吗?你想减去这个值是多少?另外,为什么您在 StockA 和 INT 中以及在 StockB 中的作品是 Decimal?
-
没错!减去的原因只是产品的可用性(参考编号)。在运行时,我检查每个订单并从分组库存列表中减去所需的部分。它是十进制的,因为产品的自然类型需要十进制单位。
-
我们需要更多信息 - 显示一些 EF 类和一些您当前用于提取数据的 LINQ。或者您可以使用我的SQL to LINQ Recipe 来转换您的 SQL。
标签: c# list linq dictionary struct