C# 如何在动态linq查询中按查询写入分组

C# 如何在动态linq查询中按查询写入分组,c#,linq,entity-framework-5,lambda,C#,Linq,Entity Framework 5,Lambda,我正在努力在动态linq查询中编写“按查询分组” public IEnumerable<DashboardReport> GetDashTransactionsReports(string dimensionColumn) { var result = (from t in _dashboardContext.GetTransactionsReports() group t by t.DimensionTransac

我正在努力在动态linq查询中编写“按查询分组”

public IEnumerable<DashboardReport> GetDashTransactionsReports(string dimensionColumn)
    {
        var result = (from t in _dashboardContext.GetTransactionsReports()
                      group t by t.DimensionTransactionYear
                          into g
                          select new DashboardReport()
                          {
                              Name = g.Key,
                              Value = g.Sum(s => s.MeasureTotal)
                          }).ToList();

        var resultList = _dashboardContext.GetTransactionsReports().AsQueryable().GroupBy("TransactionMonth", "DashTransaction", null).Select("TransactionMonth");


        return result;

    }
public static IQueryable GroupBy(this IQueryable source, string keySelector, string elementSelector, params object[] values)
    {
        if (source == null) throw new ArgumentNullException("source");
        if (keySelector == null) throw new ArgumentNullException("keySelector");
        if (elementSelector == null) throw new ArgumentNullException("elementSelector");
        LambdaExpression keyLambda = DynamicExpression.ParseLambda(source.ElementType, null, keySelector, values);
        LambdaExpression elementLambda = DynamicExpression.ParseLambda(source.ElementType, null, elementSelector, values);
        return source.Provider.CreateQuery(
            Expression.Call(
                typeof(Queryable), "GroupBy",
                new Type[] { source.ElementType, keyLambda.Body.Type, elementLambda.Body.Type },
                source.Expression, Expression.Quote(keyLambda), Expression.Quote(elementLambda)));
    }