我下面有一个当前代码,用于从数据库视图中列出项目
var transTixList = await dbContext.vwTPACnxes.ToListAsync();
具有以下输出:
TransactionId ForDate OnHour Totals
73289 2019-05-04 10 1
45318 2019-05-05 11 1
65261 2019-05-05 11 1
69131 2019-05-04 11 2
49696 2019-05-05 12 2
69373 2019-05-05 10 2
63965 2019-05-04 14 2
67963 2019-05-05 11 1
46774 2019-05-05 10 1
53125 2019-05-05 14 2
但是,我想对列表进行一些代码调整,并希望输出类似于下面的sql查询:
SELECT
SUM(Totals) AS Summary
,[ForDate]
,[OnHour]
FROM [somedb].[dbo].[vwTPACnx]
GROUP BY OnHour, ForDate
Summary ForDate OnHour
1383 2019-05-05 11
1163 2019-05-04 12
1301 2019-05-05 12
918 2019-05-04 13
692 2019-05-05 13
611 2019-05-04 14
667 2019-05-05 14
哪种解决方案最好是修改现有代码以产生此类输出?
答案 0 :(得分:0)
尝试一下:
var transTixList = dbContext.vwTPACnxes
.GroupBy (s => new {s.ForDate, s.OnHour} )
.Select (g => new
{
ForDate = g.Key.ForDate,
OnHour = g.Key.OnHour,
Summary = g.Sum(x => x.Totals),
}
).ToList();