Mar*_*ark 3 c# linq linq-to-sql
我有一个简单的Linq查询,它按一个字段分组Team:
var qbt = db.Calls.GroupBy(x => x.team).Select(call => new
{
Team = call.Key,
Number=call.Count()
});
Run Code Online (Sandbox Code Playgroud)
哪个回报:
Team Number
ta 100
tb 98
tc 123
Run Code Online (Sandbox Code Playgroud)
如何将查询更改为具有附加列"status",以便它返回:
Team Number Status
ta 40 Open
ta 60 Closed
tb 58 Open
tb 40 Closed
tc 1 Open
tc 122 Closed
Run Code Online (Sandbox Code Playgroud)
我尝试添加另一组:
var qbt = db.Calls.GroupBy(x => x.team).GroupBy(y => y.status).Select(call => new
{
Team = call.Key,
Status = call.Key2,
Number=call.Count()
});
Run Code Online (Sandbox Code Playgroud)
......但那不会编译.
谢谢,马克
And*_*mar 10
您可以对匿名类型进行分组:
.GroupBy(x => new { x.team, x.status })
Run Code Online (Sandbox Code Playgroud)
用相应的选择:
.Select(call => new
{
Team = call.Key.team,
Status = call.Key.status,
Number = call.Count()
});
Run Code Online (Sandbox Code Playgroud)
你需要在灌浆中创建新的匿名类型,这应该可以解决问题.
var qbt = db.Calls
.GroupBy(x => new { Team = x.team, Status = x.status })
.Select(call => new
{
Team = call.Key.Team,
Status = call.Key.Status,
Number=call.Count()
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3435 次 |
| 最近记录: |