Linq在多个列上按C#分组

我有一个Linq查询,它是多个表的联接。我需要根据最终查询中的2列对结果进行分组。下面是我尝试过的内容。但是,当我尝试访问查询的元素以创建MyClass对象时,会引发错误(“ IGrouping ......不包含a或可访问的.....的定义”)。 我究竟做错了什么?

var JoinQuery = cntx.Table1.Join(cntx.Table2,t1 => t1.a,t2 => t2.b,(t1,t2) => new
            {
                t1.a,t1.b,t1.c,t1.d,t1.e,t1.f,x = t2.h
            })
            .Join(cntx.Table3,t3 => t3.a,t4 => t4.b,(t3,t4) => new
            {
                t3.a,t3.b,d = t4.c,t3.e,t3.f,t3.g,t3.h,t3.i,}).Select(s => s).ToList();

            var query = JoinQuery.Where(x => x.a == 1).GroupBy(x => new { x.b,x.c }).Select(s => s);
            foreach (var item in query)
            {
                MyList.Add(new MyClass
                {
                    Id = item.a,Meta = item.b,MetaId = item.c,MonthName = item.d,Month = item.e,Submit = item.f,Year = item.g,});
            }
calvin1 回答:Linq在多个列上按C#分组

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3112177.html

大家都在问