首页 > 编程语言 > 详细

linq lambda 分组后排序

时间:2016-02-24 19:22:21      阅读:244      评论:0      收藏:0      [点我收藏+]

1.lamdba分组排序
foodBusinessDistrict.
                        GroupBy(x => new
                        {
                            x.CityLocationID,
                            x.CityLocationName,
                            x.BusinessDistrctID,
                            x.BusinessDistrctName
                        })
                        .Select(g=> new BusinessDistrictWithCountModel
                        {
                            CityLocationID = g.Key.CityLocationID,
                            CityLocationName = g.Key.CityLocationName,
                            BusinessDistrctID = g.Key.BusinessDistrctID,
                            BusinessDistrctName = g.Key.BusinessDistrctName,
                            ProductCount = g.Sum(a => a.ProductCount)
                        })
                        .OrderByDescending(x => x.ProductCount)
                        .ToList();


2.group分组
eg1.
var id = (from p in (from ps in GPEcontext.hbl_product_stock
                    group ps by new {ps.ProductID}
                    into G
                    select new
                    {
                        Key = G.Key,
                        Count = G.Count()
                    })
                    orderby p.Count descending
                         select p.Key.ProductID.Value).FirstOrDefault();
eg2.
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();

 

linq lambda 分组后排序

原文:http://www.cnblogs.com/ChineseMoonGod/p/5213892.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!