Linq查询List集合
select DYear,DJiDu,SerialNum,sum(DMoney) as DMoney
from
(
select YEAR(DFeiYongDate) as DYear,(MONTH(DFeiYongDate)+2)/3 as DJiDu,SerialNum,DMoney
from uWZCWFeiYongDetailTest
)as TotalT
group by SerialNum,Dyear,DJiDu
中间部分:
select YEAR(DFeiYongDate) as DYear,(MONTH(DFeiYongDate)+2)/3 as DJiDu,SerialNum,DMoney
from uWZCWFeiYongDetailTest
对应的linq
var ldt = from c in listDetail
select new
{
DYear = c.DFeiYongDate.Value.Year,
DJiDu = (c.DFeiYongDate.Value.Month + 2) / 3,
c.SerialNum,
c.DMoney
};
完整内容
var ldt = from tc in
(
from c in listDetail
select new
{
DYear = c.DFeiYongDate.Value.Year,
DJiDu = (c.DFeiYongDate.Value.Month + 2) / 3,
c.SerialNum,
c.DMoney
}
)
group tc by new { tc.DYear, tc.DJiDu, tc.SerialNum } into newtc
select new
{
DYear = newtc.Key.DYear,
DJiDu = newtc.Key.DJiDu,
SerialNum = newtc.Key.SerialNum,
DMoney = newtc.Sum(newtctemp => newtctemp.DMoney)
};

浙公网安备 33010602011771号