一条结合where、group、orderby的linq语法
2015-10-15 14:04
507 查看
DataTable dt = (from x in dsResult.Tables[0].AsEnumerable()
where DataTrans.CBoolean(x["IsChecked"]) == true
group x by new
{
no = x.Field<string>("NO"),
ptno = x.Field<string>("PTNO"),
ver = x.Field<int>("VER"),
kd = x.Field<string>("KD"),
que_da = Convert.ToDateTime(x.Field<DateTime>("QUE_DA").ToString("yyyy/MM/dd"))
} into g
orderby g.Key.no,g.Key.ptno,g.Key.ver,g.Key.kd,g.Key.que_da
select new
{
qty = g.Sum(x => Convert.ToInt32(x["QUE_QTY"])),
stock=g.Sum(x=>Convert.ToInt32(x["STOCK"])),
no=g.Key.no ,
ptno=g.Key.ptno,
ver=g.Key.ver,
kd=g.Key.kd,
que_da=g.Key.que_da
}).ConvertDataTable();
where DataTrans.CBoolean(x["IsChecked"]) == true
group x by new
{
no = x.Field<string>("NO"),
ptno = x.Field<string>("PTNO"),
ver = x.Field<int>("VER"),
kd = x.Field<string>("KD"),
que_da = Convert.ToDateTime(x.Field<DateTime>("QUE_DA").ToString("yyyy/MM/dd"))
} into g
orderby g.Key.no,g.Key.ptno,g.Key.ver,g.Key.kd,g.Key.que_da
select new
{
qty = g.Sum(x => Convert.ToInt32(x["QUE_QTY"])),
stock=g.Sum(x=>Convert.ToInt32(x["STOCK"])),
no=g.Key.no ,
ptno=g.Key.ptno,
ver=g.Key.ver,
kd=g.Key.kd,
que_da=g.Key.que_da
}).ConvertDataTable();
相关文章推荐
- ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
- 垃圾收集器
- Virtual BOX 下Ubuntu无线上网设置
- MemScale: Active Low-Power Modes for Main Memory(2011 ASPLOS)
- 安装Docker
- hadoop hdfs 常用操作java代码
- Linux进程实践(2) --僵尸进程与文件共享
- MySQL的btree索引和hash索引的区别
- mysql update 使用 WHEN/THEN/ELSE/END 的时候非WHEN的数据被改成null
- PHP curl发送数据 函数
- Atlas Sharding 安装、配置及简单测试
- JobSchedule之源码分析-第一讲
- linux文件类型
- 为iPhone6设计自适应布局(二)
- 购物车动画
- MySQL 系列--安装配置
- URI参数签名算法【转载】
- Android中Textview显示带html文本三-------【Textview显示网络图片】
- 雷达扫描动画
- UINavigationController + UIScrollView组合,视图尺寸的设置探秘(二)