C# 如何在动态linq查询中按查询写入分组
我正在努力在动态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
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)));
}