求Linq写法(关于带条件Sum的),稍微有些难。等!

shenlanzy1234 2018-04-25 12:29:21
--当主表Status为2或3时,对子表SConfirmCount或HConfirmCount项目进行Sum,不用group by ,结果为一个Qty合计值

select case o.Status when 2 then o.SConfirmCount when 3 then o.HConfirmCount else 0 end Qty
from Stock_BookOrder o, Stock_BookOrderDetail d
where o.OrderCode=d.OrderCode
and d.ProductCode='54131' --- 商品
and Status in ('2','3') --- 2:分公司确认; 3:SAP确认

新手,不会写了。考虑是不是把Status=2和Status=3拆分,写出两个linq,最后把两个结果值加起来。
哪位大侠会写啊(最后在一个linq里完成)
...全文
1157 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2018-05-04
  • 打赏
  • 举报
回复
var query = from o in db.Stock_BookOrder
			where new int[]{2, 3}.Contains(o.Status)
            join d in db. Stock_BookOrderDetail.Where(x=>x.ProductCode == "54131")
			on o.OrderCode equals d.OrderCode
			select new 
			{
			    Qty = 
				{
				   o.Status == 2 ? o.SConfirmCount :
				   o.Status == 3 ? o.HConfirmCount :
				   0
				}
			};

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧