You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改C#方法实现SQL数据库同ItemID的数量求和?

解决同ItemID记录的数量求和问题

嘿,我来帮你搞定这个需求!你现在的Available方法因为用了FirstOrDefault(),只会取到匹配ItemID的第一条记录的数量,所以多条同ID数据时就没法得到总和了。其实用LINQ的Sum()方法就能轻松解决这个问题。

修改后的实现代码

public int Available(Item i) {
    // 筛选所有对应ItemID的记录,直接对qty字段求和,无匹配时返回0
    return ItemDetails.Where(x => x.itemID == i.ID).Sum(x => x.qty);
}

简单解释下:

  • Where(x => x.itemID == i.ID):先把所有itemID和传入的Item.ID匹配的记录筛选出来
  • Sum(x => x.qty):对这些筛选出来的记录的qty字段做累加求和
  • 特别方便的是,当没有找到任何匹配的记录时,Sum()会自动返回0,所以你完全可以去掉原来的空值判断逻辑,代码更简洁利落

这样改完之后,数据库里两条ItemID为117的记录(比如各7个数量),这个方法就会返回总和14,正好符合你的预期。

内容的提问来源于stack exchange,提问作者chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 18:32:53