我有一段代码,我想按两个字段分组,然后用这两个字段作为元组键对其执行 ToDictionary。我不确定语法。以下是我所拥有的,但问题是它创建了一个包含单个项目的元组。
var count = this.Db.Query<EmployeeCount>(@"select
employername, ein, month, headcount
from employerInfo A inner join MonthlyInfo B on (A.Id = B.Id)
where A.ClientId = @Client",
new { run.Client })
.GroupBy(r => new { r.EIN, r.EmployerName})
.ToDictionary(pair => Tuple.Create<string>(pair.Key.ToString()), pair => pair.ToDictionary(r => (Months)r.month, r => r.headcount));
我的 EmployeeCount 类是
private class CountQuery
{
public string EmployerName;
public string EIN;
public int Month;
public int HeadCount;
}
我尝试创建一个 Tuple.Create,但我不确定如何通知元组的参数是 EIN 和 Employername。
最佳答案
我自己想出来的如下
var count = this.Db.Query<EmployeeCount>(@"select
employername, ein, month, headcount
from employerInfo A inner join MonthlyInfo B on (A.Id = B.Id)
where A.ClientId = @Client",
new { run.Client })
.GroupBy(r => new { r.EIN, r.EmployerName}).ToDictionary(pair => Tuple.Create<string,string>(pair.Key.EIN.ToString(),pair.Key.EmployerName), pair => pair.ToDictionary(r => (Months)r.ReportingMonth, r => r.FTECount))
关于c# - 按两列分组并使用元组作为键 C# Linq 执行 ToDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35345391/