1

当我返回所有 DailyCollectionActivities 时,我的数据来自 IQueryable,如下表所示。

CatType | CdDescr | CollTypeDescr | RollCasteDescr | TIFDescr | TADescr | Amount
--------------------------------------------------------------------------------
Cat 1   | Cd 1    | CollType 233  | Roll Caste 234 | TIF 2344 | TA 2343 | 344.35
Cat 1   | Cd 1    | CollType 222  | Roll Caste 235 | TIF 2345 | TA 2344 | 355.35
Cat 2   | Cd 2    | CollType 223  | Roll Caste 236 | TIF 2346 | TA 2345 | 664.44
Cat 3   | Cd 3    | CollType 255  | Roll Caste 236 | TIF 2347 | TA 2346 | 455.34
Cat 4   | Cd 4    | CollType 266  | Roll Caste 236 | TIF 2348 | TA 2347 | 455.44

我试图找出是否有可能,在IQueryable<DailyCollectionActivity>数据上使用 linq,将两列添加在一起,然后在新创建的列上分组?例如,我需要弄清楚如何添加CatTypeCdDescr (CatType + '-' + CdDescr)新创建的列然后按其分组并对金额求和。最后,我需要获取该查询的结果并将其绑定到RadGrid.

为了让事情变得更有趣,用户可以选择将哪些列添加在一起。我可以用一个 group by 子句结束,比如(CatType + '-' CdDescr), (TIFDescr + '-' + TADescr).

这是我可以使用 Linq 合理完成的事情吗?

4

1 回答 1

0

从类别中说出来

var result = from s in (

from p in categories
             select new {
TypeDesr = p.CatType+"-"+ p.CdDesr,
CollTypeDescr  = p.CollTypeDescr ,
RollCasteDescr = p.RollCasteDescr,
TIFDescr = p.TIFDescr,
TADescr = p.TADescr,
Amount = p.Amount
})
group s by s.TypeDesr into r
select r;
于 2012-08-30T05:08:47.473 回答