[问题] Linq取Sum方法

楼主: shadow0828 (Vugtis Of Shadow)   2014-08-17 16:57:03
版上先进大家好
一直写不出来,想请教版上先进....
要用Linq呼叫一个数据库里面的总和值..
TABLE为
TABLEa TABLEb
Pro cha Pro
A 12 A
B 6 B
A 14 C
C 4
B 8
SQL语法是 :
Select B.Pro,
sum(A.Cha) as Sum
From TABLEb as B, TABLEa as A
Where B.Pro = A.Pro
爬过网络文后的推估Linq C#写法是
Var Q = (From o in TABLEa
Where o.Pro == this.Pro
Select o).First();
OutPut = Q.Sum(i => i.cha);
但是写到o.cha的时候没办法跳Sum的指令....
强制写上的话会告知漏掉Using参考
但我Using 有写到 system.Linq;
想不出来是到底漏掉哪个Using
想请教版上对于Linq的先进该怎么写....
还请先进们不吝赐教qq
作者: iterator (rotareti)   2014-08-17 21:40:00
你的 SQL 怪怪的, 你确定你要的是这样的 query?可以先用管理工具试试看这样的 query 是不是符合需要至于LINQ的问题,前一行用了First()之后,就只剩下"一个"直接是单一笔资料物件, 自然就没有 sum() 了
作者: purpledoor (wei)   2014-08-17 21:43:00
first应该只取到一笔吧!这样可以sum吗?
作者: J002 (阿里山 我来了XD~)   2014-08-17 22:50:00
First()完应该不能sum…最后的.First()改成Sum(o => o.cha)试试…
作者: jengting (~~)   2014-08-18 08:21:00
就你提供的资料和 TSQL 来看,根本不需要 TableB,直接对 TableA 就可以得到你要的结果 ~~
作者: Cingyea ( )   2014-08-18 11:14:00
(from r in TABLEa select r.cha).Sum()或者(from r in TABLEa select r).Sum(r=>r.cha)
作者: iterator (rotareti)   2014-08-18 18:03:00
理由我已经写了,用了 First() 之后,就没有后面的 Sum()试着不要用 "var", 你应该就能理解出了什么事情..

Links booklink

Contact Us: admin [ a t ] ucptt.com