public GroupByQueryBase(QueryBase innerQuery, LambdaExpression keys) { InnerQuery = innerQuery; if (keys == null) { throw BuilderError.ArgumentNull(nameof(keys)).AsException(); } // Keys must be named if (keys.Body is NewExpression newExpression) { KeyColumns = newExpression.Members.Zip(newExpression.Arguments, (l, r) => (Left: l, Right: r)) .Select(p => (p.Left as PropertyInfo, p.Right)) .ToImmutableArray(); } else { throw QueryBuilderError.GroupByNotNewExpression().AsException(); } }
public async void Error_On_Keys_Not_New_Expression(string groupBy, string location) { await VerifyGroupByErrorRaised(QueryBuilderError.GroupByNotNewExpression(), groupBy, location); }