C# 如何使用linq在select查询中获取值?
我使用LINQ内部连接组合了两个表客户机和付款。在此之后,我用这两个表中的值填写一个新的模型总计。我只需要一个C# 如何使用linq在select查询中获取值?,c#,asp.net,linq,C#,Asp.net,Linq,我使用LINQ内部连接组合了两个表客户机和付款。在此之后,我用这两个表中的值填写一个新的模型总计。我只需要一个用户名。有什么想法吗?我会非常感激的 var results = from client in _db.Clients join trade in _db.Payments on client.Id equals trade.ClientId where (client.Id == t
用户名
。有什么想法吗?我会非常感激的
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();
var results=来自_db.Clients中的客户端
加入交易_db.Payments on client.Id等于trade.ClientId
其中(client.Id==trade.ClientId&&
DateTime.Compare(trade.TradeDate,(DateTime)fromDate)>=0&&
比较(trade.TradeDate,(DateTime)toDate)tr.trade.ClientId)
.选择(项目=>新总计
{
Username=//这里我需要设置一个值
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.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();
var results=来自_db.Clients中的客户端
加入交易_db.Payments on client.Id等于trade.ClientId
其中(client.Id==trade.ClientId&&
DateTime.Compare(trade.TradeDate,(DateTime)fromDate)>=0&&
比较(trade.TradeDate,(DateTime)toDate)new{id=tr.trade.ClientId,name=tr.trade.name})
.选择(项目=>新总计
{
用户名=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.trade.CloseGross)
}).ToList();
这对我帮助很大。我的感谢!请接受答案,以向其他人表明它是有帮助的,并且得到了回答。当然,但将您的回答标记为答案的时间限制尚未结束;)哦,是的,我记得,这些规则是如何发明的:)很高兴它能帮助你:)