楼主:
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() 了
作者:
J002 (阿里山 我来了XD~)
2014-08-17 22:50:00First()完应该不能sum…最后的.First()改成Sum(o => o.cha)试试…
就你提供的资料和 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", 你应该就能理解出了什么事情..