如何在c#linq中使用交叉制表符查询?

时间:2013-09-17 08:31:23

标签: c# linq

var TatalFeeCollectionDetail = new List<lcclsTotalFeeCollectionDetail>();
TatalFeeCollectionDetail = (from t in .......
                            group t by new { t.MonthName,t.FeeParticularName }                                        
                                into grp                                           
                                select new lcclsTotalFeeCollectionDetail                                           
                                {
                                    Month = grp.Key.MonthName,
                                    Particular = grp.First().FeeParticularLedgerName,
                                    Amount = grp.Sum(t => t.Amount),
                                }).ToList();
dgvTotalFeeCollectionDetail.DataSource = TatalFeeCollectionDetail;

我的结果是.............

    Month   particular Amount   
    April       b      1    
    April       c      2    
    April       d      1    
    April       e      2
    April       f      1

我想转换它就像这样可以帮助我...........我搜索它但可以理解该怎么做....

Month   b   c   d   e   f   Total Amount
April   1   2   1   2   1       7
提前

Thanxxxxxxx

1 个答案:

答案 0 :(得分:1)

你做不到。这意味着创建一个具有可变数量属性的匿名类型,并且在强类型的C#中是不可能的。

你当然可以做的是将'特定'值存储在字典中并得到像

这样的结果
Month     particular                                  Total
April     {{b, 1}, {c, 2}, {d, 1}, {e, 2}, {f, 1}}    7