gpt4 book ai didi

c# - 如何使用 linq 在选择查询中获取值?

转载 作者:太空宇宙 更新时间:2023-11-03 22:56:04 25 4
gpt4 key购买 nike

我使用 LINQ 内部联接合并了 2 个表 Clients 和 Payments。在此之后,我用这两个表中的值填充一个新模型 Totals。我只需要获取一个用户名。有任何想法吗?我将非常感激!

var results = from client in _db.Clients
join trade in _db.Payments on client.Id equals trade.ClientId
where (client.Id == trade.ClientId &&
DateTime.Compare(trade.TradeDate, (DateTime)fromDate) >= 0 &&
DateTime.Compare(trade.TradeDate, (DateTime) toDate) <= 0)
select new { client.Username, trade};
var cs = results
.GroupBy(tr => tr.trade.ClientId)
.Select(item => new Totals
{
Username = //here I need to set a value
CommBcf = item.Sum(client => client.trade.CommBcf),
EcnAll = item.Sum(client => client.trade.EcnAll),
EcnRbt = item.Sum(client => client.trade.EcnRbt),
OpenGross = item.Sum(client => client.trade.OpenGross),
CloseGross = item.Sum(client => client.trade.CloseGross)
}).ToList();

最佳答案

按键和名称分组。您可以通过使用 new {id,name} 创建新的匿名对象来按多列分组。

 var results = from client in _db.Clients
join trade in _db.Payments on client.Id equals trade.ClientId
where (client.Id == trade.ClientId &&
DateTime.Compare(trade.TradeDate, (DateTime)fromDate) >= 0 &&
DateTime.Compare(trade.TradeDate, (DateTime) toDate) <= 0)
select new { client.Username, trade};
var cs = results
.GroupBy(tr => new {id=tr.trade.ClientId,name=tr.trade.Name})
.Select(item => new Totals
{
Username = item.Key.name
CommBcf = item.Sum(client => client.trade.CommBcf),
EcnAll = item.Sum(client => client.trade.EcnAll),
EcnRbt = item.Sum(client => client.trade.EcnRbt),
OpenGross = item.Sum(client => client.trade.OpenGross),
CloseGross = item.Sum(client => client.trade.CloseGross)
}).ToList();

关于c# - 如何使用 linq 在选择查询中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45338015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com