在linq中聚合匿名类型

时间:2013-09-06 09:51:22

标签: c#-4.0 linq-to-sql

我有以下数据。

 var gradeData = (from data in oAngieCtxt.prc_ShopInstanceCustomersData(Convert.ToInt32(this.ShopInstanceID), 10000, false)
                         .Where(row => row.RecievedPoints != "n/a")
                        .GroupBy(row => new { row.Name })
                        .Select(g => new 
                        {
                            TotalPoints = g.Sum(x => Convert.ToDouble(x.RecievedPoints) * (x.Weightage.ToString() == "0.00" ? 1 : Convert.ToDouble(x.Weightage))),
                            Name = g.Key.Name
                        })
                         select data).ToList();

我将此分配给DataGrid,如下所示:

this.grdAllDealers.DataSource = gradeData;
this.grdAllDealers.DataBind();

这将导致屏幕为

5 A. 10 B 15 C 。 。 。

但我希望这些数据在屏幕上打印出来 5 - A. 10 - B. 15 - C. 。 。 。

连字符应该在TotalPoints和Name之间。

有人可以建议如何在linq查询中获取此信息吗?

注意:我知道要使用foreach,但我想在没有foreach的情况下这样做。

提前致谢...

1 个答案:

答案 0 :(得分:0)

我修好了它就是这么简单......可能会帮助像我这样的未来用户;)

this.grdAllDealers.DataSource = gradeData.Select(O => O.TotalPoints +“ - ”+ O.Name);