我有以下 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)