C# 如何在EF中动态设置GroupBy中的字段

C# 如何在EF中动态设置GroupBy中的字段,c#,entity-framework,lambda,C#,Entity Framework,Lambda,我有以下疑问: var result = _workOrders.GroupBy(row => row.Asset, (k, g) => new AverageBetweenTwoFailureViewModel { // fields }).ToList(); 我需要在row=>row.Assetdynamicly中动态设置字段。 我在网上搜索,发现了以下代码: var arg = Expression.Param

我有以下疑问:

  var result = _workOrders.GroupBy(row => row.Asset, (k, g) => new AverageBetweenTwoFailureViewModel
        {
           // fields
        }).ToList();
我需要在
row=>row.Asset
dynamicly中动态设置字段。 我在
网上搜索,发现了以下代码:

    var arg = Expression.Parameter(typeof(Item), "item");
var body = Expression.Property(arg, "D");
var lambda = Expression.Lambda<Func<Item, DateTime>>(body, arg);
var keySelector = lambda.Compile();
var arg=Expression.Parameter(typeof(Item),“Item”);
var body=Expression.Property(arg,“D”);
var lambda=表达式.lambda(body,arg);
var keySelector=lambda.Compile();

但是我在Groupby中使用的
覆盖
,它是不同的。

你不可能以动态的方式轻松地完成它。。。
GroupBy
IGrouping
)的“返回类型”取决于
TKey
的类型。因此,如果您“动态”选择
TKey
,并且
TKey
的类型可以更改,则
结果的类型可以动态更改。这个问题不是无法解决的,但是您将拥有越来越多的动态代码。谢谢。我将为每个字段创建方法。我只有4个字段。我知道我需要一种方法来获得结果,我可能会在将来动态地做这件事。