小编Ant*_*sky的帖子

将动态匿名对象添加到 linq groupBy 表达式中

我有以下 linq 表达式:

Func<Entity, object> groupQuery = item => 
     new { a = item.Attributes["name"], item = item.Attributes["number"] };
var result = target.Collection.Entities.GroupBy(groupQuery).ToList();
Run Code Online (Sandbox Code Playgroud)

但如果我不知道我将分组多少列(例如 3 个而不是 2 个),以及存储在列表名称中的属性名称,我应该如何更改我的 groupQuery 对象?我的第一个想法是创建这样的动态对象,但它不起作用

dynamic groupQuery= new ExpandoObject();
IDictionary<string, object> dictionary = (IDictionary<string, object>)groupQuery;

foreach (string str in Names)
{
   dictionary.Add(str, str);
}
Run Code Online (Sandbox Code Playgroud)

c# linq

5
推荐指数
1
解决办法
1721
查看次数

标签 统计

c# ×1

linq ×1