首页新闻找找看学习计划

linq 求助!linq 求助!linq 求助!linq 求助!

0
悬赏园豆:5 [已解决问题] 解决于 2015-05-28 14:41
var linqs = from t in li
                        group t by new { rybh = t.rybh, wagemonth = t.wageMonth, mc = t.mc, workno = t.workNo, section=t.section } into m
                        select new
                        {                            
                            rybh = m.Key.rybh,
                            mc =m.Key.mc,
                            workno = m.Key.workno,
                            wagemonth = m.Key.wagemonth,
                            section = m.Key.section,
                          
                            gwgz = m.Sum(n => n.wagePrject == "岗位工资" ? n.wage : 0),
}

在这段linq中: gwgz = m.Sum(n => n.wagePrject == "岗位工资" ? n.wage : 0),我现在要从一个键值对中获取前面的名称,和引号中的文字。
键值对是 Dictionary<string, string> prjList    gwgz  就是prjList的键,"岗位工资"就是prjList的值
在select new 中写循环或方法都会报错,不知道该怎么处理。

moyanger的主页 moyanger | 初学一级 | 园豆:173
提问于:2015-05-18 10:53
< >
分享
最佳答案
0

在linq to sql中是不能使用外部方法的,因为无法转换为sql语句(linq的最终实现是通过sql的)。所以,你可以先把需要的数据通过toList()方法获取到内存中,然后再使用方法获取你要的数据形式。

当然也可以通过存储过程来实现。

收获园豆:5
水石相生 | 初学一级 |园豆:142 | 2015-05-21 16:57
其他回答(2)
0

看了好一会,没看懂,只能感觉这跟LINQ没啥鸟关系。

爱编程的大叔 | 园豆:29788 (高人七级) | 2015-05-18 11:04

select new  里的项要根据一个Dictionary 动态创建。

支持(0) 反对(0) moyanger | 园豆:173 (初学一级) | 2015-05-18 11:06

@moyanger: 你是说Dynamic Select 吧?

LINQ : Dynamic select

支持(0) 反对(0) 爱编程的大叔 | 园豆:29788 (高人七级) | 2015-05-18 11:09
0

问题可能出在针对“wagePrject”的条件判断,你可以改为下面的看会不会出错:

gwgz = m.Sum(n => n.wage)
dudu | 园豆:41066 (高人七级) | 2015-05-18 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册