linq - 动态 Linq GroupBy 选择无法正常工作

标签 linq select dynamic group-by

请指导,我可以使用动态分组依据,但是在选择非聚合字段时,出现以下错误

类型“IGrouping`2”中不存在属性或字段“name”

var result311 = (IQueryable)gle1.temptable.Where(a => a.IsAllowed == false && a.Code == "r01");

            var result = result311.GroupBy("new (name, FirstAmountOriginal, SecondAccounting)", "it")
                .Select("new (it.name,Sum(FirstAmountOriginal) as FirstAmountOriginalx, Sum(SecondAccounting) as SecondAccountingx)");

请指导

最佳答案

首先,您不应该按要聚合的字段进行分组,其次,分组会创建一个由您分组所依据的字段(在本例中为一个)组成的分组Key,因此您必须解决之后这个键:

var result = result311.GroupBy("new(name)", "it")
    .Select(@"new (it.Key.name,
                   Sum(FirstAmountOriginal) as FirstAmountOriginalx, 
                   Sum(SecondAccounting) as SecondAccountingx)");

关于linq - 动态 Linq GroupBy 选择无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16028964/

相关文章:

c# - 如何将 List<string> 字段合并到 GroupBy() 中

c# - 使用 LINQ Take() X 条记录但查明是否还有更多记录的正确方法是什么

c# - 从 C# 中的 Brushes 集合中选择随机画笔的最佳方法是什么?

jquery - 如何根据 iframe 内的动态内容更改 iframe 的高度?

c# - 仅使用 LINQ 对包含数字属性的对象集合求和

mysql - 无法从第三张表中看到 mySQL COUNT

mysql - 通过键将两个表连接到数组中

c++ - Linux C++ 动态库和静态初始化顺序

android - 在 Android 中动态单击按钮添加微调器

c# - 循环 A 列表的十进制列表