C# 具有动态列的LINQ Pivot

C# 具有动态列的LINQ Pivot,c#,asp.net,linq,pivot,C#,Asp.net,Linq,Pivot,我正在尝试使用LINQ和动态列创建一个轴。我在SQLServer中创建了一个透视,您不知道将使用哪些列。但我不知道如何将其转化为LINQ。 有人给我提供了开始的链接吗 干杯这可能就是您想要的:List myList=GetCustData(); var query=myList .GroupBy(c=>c.CustId) .选择(g=>new{ CustId=g.Key, Jan=g.Where(c=>c.OrderDate.Month==1)。Sum(c=>c.Qty), Feb=g.Wher

我正在尝试使用LINQ和动态列创建一个轴。我在SQLServer中创建了一个透视,您不知道将使用哪些列。但我不知道如何将其转化为LINQ。 有人给我提供了开始的链接吗


干杯

这可能就是您想要的:

List myList=GetCustData();
var query=myList
.GroupBy(c=>c.CustId)
.选择(g=>new{
CustId=g.Key,
Jan=g.Where(c=>c.OrderDate.Month==1)。Sum(c=>c.Qty),
Feb=g.Where(c=>c.OrderDate.Month==2.Sum(c=>c.Qty),
三月=g.Where(c=>c.OrderDate.Month==3)。总和(c=>c.Qty)
});

这是这篇

中的答案,什么是动态轴心?@Scott:我已经更新了我的问题,但这可能是非动态轴心的重复。这(来自你在另一个问题中强调的例子)取决于你是否知道“一月”、“二月”和“三月”列。不知道你是否是该站点的所有者,但访问时会抛出异常。
    List<CustData> myList = GetCustData();

    var query = myList
        .GroupBy(c => c.CustId)
        .Select(g => new {
            CustId = g.Key,
            Jan = g.Where(c => c.OrderDate.Month == 1).Sum(c => c.Qty),
            Feb = g.Where(c => c.OrderDate.Month == 2).Sum(c => c.Qty),
            March = g.Where(c => c.OrderDate.Month == 3).Sum(c => c.Qty)
        });