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

将LINQ查询转换为SQL语句:多对多关联下门店商品总价计算

LINQ转SQL:计算指定门店商品总价值

原LINQ查询逻辑

这段LINQ的作用是:筛选关联表MyTable中属于指定门店(storeid)的记录,将每条记录的商品数量(Count)乘以对应商品(Products表)的售价(Sellprice),最终求和得到该门店的商品总价值。

原LINQ代码:

user.MyTable.Where(i => i.StoreID == storeid).Sum(i => i.Count * user.Products.First(j => j.ProductID == i.ProductID).Sellprice);

等价SQL查询

对应的SQL语句通过关联查询实现,相比LINQ逐行匹配商品的方式,用JOIN更贴合SQL执行逻辑且性能更优:

SELECT SUM(mt.Count * p.Sellprice) AS TotalValue
FROM MyTable mt
JOIN Products p ON mt.ProductID = p.ProductID
WHERE mt.StoreID = @storeid;

说明

  • 用JOIN通过ProductID关联MyTable和Products,直接匹配对应商品的售价,替代LINQ中First的逐行查询逻辑。
  • @storeid为参数化变量,对应LINQ中的storeid参数,可避免SQL注入风险。
  • 最终通过SUM函数计算所有符合条件记录的Count * Sellprice之和,得到目标门店的商品总价值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 04:10:30