我在这里面临一个简单的问题,因为我是新的LINQ,我真的需要有人帮助。
我有一个SQL查询,根据Client ID
,CommissionName
和Date
仅从DateTime
计算金额。
下面是SQL查询:
SELECT
ClientId, CommisionName,
CAST(Date AS DATE) DateOnly,
SUM(Amount)
FROM
[MyDB].[dbo].[Commission]
GROUP BY
ClientId, CAST(Date AS DATE), CommisionName
我在LINQ中得到的分组是:
var data = from c in await _context.Commission.ToListAsync()
group c by new
{
c.CommisionName,
c.ClientId,
c.Date,
} into gcs
select new
{
ClientId = gcs.Key.ClientId,
CommissionName = gcs.Key.CommisionName,
Date = gcs.Key.Date,
};
但是如果我需要总结Amount
,我仍然没有参考资料。
请我需要有人参考。谢谢你
1条答案
按热度按时间7lrncoxx1#
用
gcs.Sum(x => x.Amount)
来执行Amount
的求和。请注意,您当前的查询将查询所有记录,并在内存端执行分组。
要在数据库端使用组执行查询,LINQ查询应如下: