diff --git a/FreeSql/Interface/Curd/ISelect/ISelect1.cs b/FreeSql/Interface/Curd/ISelect/ISelect1.cs index 43118b65..01542938 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect1.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect1.cs @@ -23,10 +23,10 @@ namespace FreeSql Task FirstAsync(); Task ToAggregateAsync(Expression, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif /// @@ -106,7 +106,7 @@ namespace FreeSql /// 返回类型 /// 列 /// - TMember Sum(Expression> column); + decimal Sum(Expression> column); /// /// 最小值 /// @@ -127,7 +127,7 @@ namespace FreeSql /// 返回类型 /// 列 /// - TMember Avg(Expression> column); + double Avg(Expression> column); /// /// 指定别名 diff --git a/FreeSql/Interface/Curd/ISelect/ISelect10.cs b/FreeSql/Interface/Curd/ISelect/ISelect10.cs index 83cc7949..a148e3d2 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect10.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect10.cs @@ -18,10 +18,10 @@ namespace FreeSql Task> ToListAsync(); Task ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif bool Any(Expression> exp); @@ -30,10 +30,10 @@ namespace FreeSql List ToList(); string ToSql(Expression> select); TReturn ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - TMember Sum(Expression> column); + decimal Sum(Expression> column); TMember Min(Expression> column); TMember Max(Expression> column); - TMember Avg(Expression> column); + double Avg(Expression> column); ISelect LeftJoin(Expression> exp); ISelect InnerJoin(Expression> exp); diff --git a/FreeSql/Interface/Curd/ISelect/ISelect2.cs b/FreeSql/Interface/Curd/ISelect/ISelect2.cs index 98d24ad7..4ce85e8b 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect2.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect2.cs @@ -18,10 +18,10 @@ namespace FreeSql Task> ToListAsync(); Task ToAggregateAsync(Expression, ISelectGroupingAggregate, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif bool Any(Expression> exp); @@ -30,10 +30,10 @@ namespace FreeSql List ToList(); string ToSql(Expression> select); TReturn ToAggregate(Expression, ISelectGroupingAggregate, TReturn>> select); - TMember Sum(Expression> column); + decimal Sum(Expression> column); TMember Min(Expression> column); TMember Max(Expression> column); - TMember Avg(Expression> column); + double Avg(Expression> column); ISelect LeftJoin(Expression> exp); ISelect InnerJoin(Expression> exp); diff --git a/FreeSql/Interface/Curd/ISelect/ISelect3.cs b/FreeSql/Interface/Curd/ISelect/ISelect3.cs index ee60a5b0..cb384c44 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect3.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect3.cs @@ -18,10 +18,10 @@ namespace FreeSql Task> ToListAsync(); Task ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif bool Any(Expression> exp); @@ -30,10 +30,10 @@ namespace FreeSql List ToList(); string ToSql(Expression> select); TReturn ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - TMember Sum(Expression> column); + decimal Sum(Expression> column); TMember Min(Expression> column); TMember Max(Expression> column); - TMember Avg(Expression> column); + double Avg(Expression> column); ISelect LeftJoin(Expression> exp); ISelect InnerJoin(Expression> exp); diff --git a/FreeSql/Interface/Curd/ISelect/ISelect4.cs b/FreeSql/Interface/Curd/ISelect/ISelect4.cs index 57640478..7bedf4d0 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect4.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect4.cs @@ -18,10 +18,10 @@ namespace FreeSql Task> ToListAsync(); Task ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif bool Any(Expression> exp); @@ -30,10 +30,10 @@ namespace FreeSql List ToList(); string ToSql(Expression> select); TReturn ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - TMember Sum(Expression> column); + decimal Sum(Expression> column); TMember Min(Expression> column); TMember Max(Expression> column); - TMember Avg(Expression> column); + double Avg(Expression> column); ISelect LeftJoin(Expression> exp); ISelect InnerJoin(Expression> exp); diff --git a/FreeSql/Interface/Curd/ISelect/ISelect5.cs b/FreeSql/Interface/Curd/ISelect/ISelect5.cs index 3b94ff28..59b90b9d 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect5.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect5.cs @@ -18,10 +18,10 @@ namespace FreeSql Task> ToListAsync(); Task ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif bool Any(Expression> exp); @@ -30,10 +30,10 @@ namespace FreeSql List ToList(); string ToSql(Expression> select); TReturn ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - TMember Sum(Expression> column); + decimal Sum(Expression> column); TMember Min(Expression> column); TMember Max(Expression> column); - TMember Avg(Expression> column); + double Avg(Expression> column); ISelect LeftJoin(Expression> exp); ISelect InnerJoin(Expression> exp); diff --git a/FreeSql/Interface/Curd/ISelect/ISelect6.cs b/FreeSql/Interface/Curd/ISelect/ISelect6.cs index 97c6c05c..92b0275b 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect6.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect6.cs @@ -18,10 +18,10 @@ namespace FreeSql Task> ToListAsync(); Task ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif bool Any(Expression> exp); @@ -30,10 +30,10 @@ namespace FreeSql List ToList(); string ToSql(Expression> select); TReturn ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - TMember Sum(Expression> column); + decimal Sum(Expression> column); TMember Min(Expression> column); TMember Max(Expression> column); - TMember Avg(Expression> column); + double Avg(Expression> column); ISelect LeftJoin(Expression> exp); ISelect InnerJoin(Expression> exp); diff --git a/FreeSql/Interface/Curd/ISelect/ISelect7.cs b/FreeSql/Interface/Curd/ISelect/ISelect7.cs index 80d7bc72..a13a8b6f 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect7.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect7.cs @@ -18,10 +18,10 @@ namespace FreeSql Task> ToListAsync(); Task ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif bool Any(Expression> exp); @@ -30,10 +30,10 @@ namespace FreeSql List ToList(); string ToSql(Expression> select); TReturn ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - TMember Sum(Expression> column); + decimal Sum(Expression> column); TMember Min(Expression> column); TMember Max(Expression> column); - TMember Avg(Expression> column); + double Avg(Expression> column); ISelect LeftJoin(Expression> exp); ISelect InnerJoin(Expression> exp); diff --git a/FreeSql/Interface/Curd/ISelect/ISelect8.cs b/FreeSql/Interface/Curd/ISelect/ISelect8.cs index 976ca71b..0e9d1633 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect8.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect8.cs @@ -18,10 +18,10 @@ namespace FreeSql Task> ToListAsync(); Task ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif bool Any(Expression> exp); @@ -30,10 +30,10 @@ namespace FreeSql List ToList(); string ToSql(Expression> select); TReturn ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - TMember Sum(Expression> column); + decimal Sum(Expression> column); TMember Min(Expression> column); TMember Max(Expression> column); - TMember Avg(Expression> column); + double Avg(Expression> column); ISelect LeftJoin(Expression> exp); ISelect InnerJoin(Expression> exp); diff --git a/FreeSql/Interface/Curd/ISelect/ISelect9.cs b/FreeSql/Interface/Curd/ISelect/ISelect9.cs index 0960ea22..8c3f9d16 100644 --- a/FreeSql/Interface/Curd/ISelect/ISelect9.cs +++ b/FreeSql/Interface/Curd/ISelect/ISelect9.cs @@ -18,10 +18,10 @@ namespace FreeSql Task> ToListAsync(); Task ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - Task SumAsync(Expression> column); + Task SumAsync(Expression> column); Task MinAsync(Expression> column); Task MaxAsync(Expression> column); - Task AvgAsync(Expression> column); + Task AvgAsync(Expression> column); #endif bool Any(Expression> exp); @@ -30,10 +30,10 @@ namespace FreeSql List ToList(); string ToSql(Expression> select); TReturn ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select); - TMember Sum(Expression> column); + decimal Sum(Expression> column); TMember Min(Expression> column); TMember Max(Expression> column); - TMember Avg(Expression> column); + double Avg(Expression> column); ISelect LeftJoin(Expression> exp); ISelect InnerJoin(Expression> exp); diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs index 6e2b76ab..bb3db92c 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs @@ -155,10 +155,10 @@ namespace FreeSql.Internal.CommonProvider public bool Any() { this.Limit(1); - return this.ToList("1 as1").FirstOrDefault() == 1; + return this.ToList("1 as1").Sum() > 0; //这里的 Sum 为了分表查询 } - public long Count() => this.ToList("count(1) as1").FirstOrDefault(); + public long Count() => this.ToList("count(1) as1").Sum(); //这里的 Sum 为了分表查询 public TSelect Count(out long count) { @@ -1023,10 +1023,14 @@ namespace FreeSql.Internal.CommonProvider } #region common - protected TMember InternalAvg(Expression exp) => this.ToList($"avg({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").FirstOrDefault(); - protected TMember InternalMax(Expression exp) => this.ToList($"max({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").FirstOrDefault(); - protected TMember InternalMin(Expression exp) => this.ToList($"min({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").FirstOrDefault(); - protected TMember InternalSum(Expression exp) => this.ToList($"sum({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").FirstOrDefault(); + protected double InternalAvg(Expression exp) + { + var list = this.ToList($"avg({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1"); + return list.Sum() / list.Count; + } + protected TMember InternalMax(Expression exp) => this.ToList($"max({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").Max(); + protected TMember InternalMin(Expression exp) => this.ToList($"min({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").Min(); + protected decimal InternalSum(Expression exp) => this.ToList($"sum({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").Sum(); protected ISelectGrouping InternalGroupBy(Expression columns) { @@ -1104,10 +1108,10 @@ namespace FreeSql.Internal.CommonProvider async public Task AnyAsync() { this.Limit(1); - return (await this.ToListAsync("1 as1")).FirstOrDefault() == 1; + return (await this.ToListAsync("1 as1")).Sum() > 0; //这里的 Sum 为了分表查询 } - async public Task CountAsync() => (await this.ToListAsync("count(1) as1")).FirstOrDefault(); + async public Task CountAsync() => (await this.ToListAsync("count(1) as1")).Sum(); //这里的 Sum 为了分表查询 async public Task ToDataTableAsync(string field = null) { @@ -1284,10 +1288,14 @@ namespace FreeSql.Internal.CommonProvider } protected Task> ToListMapReaderAsync((ReadAnonymousTypeInfo map, string field) af) => ToListMapReaderPrivateAsync(af, null); - async protected Task InternalAvgAsync(Expression exp) => (await this.ToListAsync($"avg({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).FirstOrDefault(); - async protected Task InternalMaxAsync(Expression exp) => (await this.ToListAsync($"max({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).FirstOrDefault(); - async protected Task InternalMinAsync(Expression exp) => (await this.ToListAsync($"min({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).FirstOrDefault(); - async protected Task InternalSumAsync(Expression exp) => (await this.ToListAsync($"sum({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).FirstOrDefault(); + async protected Task InternalAvgAsync(Expression exp) + { + var list = await this.ToListAsync($"avg({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1"); + return list.Sum() / list.Count; + } + async protected Task InternalMaxAsync(Expression exp) => (await this.ToListAsync($"max({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).Max(); + async protected Task InternalMinAsync(Expression exp) => (await this.ToListAsync($"min({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).Min(); + async protected Task InternalSumAsync(Expression exp) => (await this.ToListAsync($"sum({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).Sum(); protected Task> InternalToListAsync(Expression select) => this.ToListMapReaderAsync(this.GetExpressionField(select)); diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select10Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select10Provider.cs index 73898c13..008dbdb4 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select10Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select10Provider.cs @@ -35,11 +35,11 @@ namespace FreeSql.Internal.CommonProvider _tables.Add(new SelectTableInfo { Table = _commonUtils.GetTableByEntity(typeof(T10)), Alias = $"SP10j", On = null, Type = SelectTableInfoType.From }); } - TMember ISelect.Avg(Expression> column) + double ISelect.Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return 0; for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } ISelectGrouping ISelect.GroupBy(Expression> exp) @@ -77,11 +77,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - TMember ISelect.Sum(Expression> column) + decimal ISelect.Sum(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } TReturn ISelect.ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) @@ -172,11 +172,11 @@ namespace FreeSql.Internal.CommonProvider #if net40 #else - Task ISelect.AvgAsync(Expression> column) + Task ISelect.AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } Task ISelect.MaxAsync(Expression> column) @@ -193,11 +193,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalMinAsync(column?.Body); } - Task ISelect.SumAsync(Expression> column) + Task ISelect.SumAsync(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } Task ISelect.ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs index a2c3a341..92542383 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select1Provider.cs @@ -104,11 +104,11 @@ namespace FreeSql.Internal.CommonProvider return this; } - public TMember Avg(Expression> column) + public double Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(double); _tables[0].Parameter = column.Parameters[0]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } public abstract ISelect From(Expression, T2, ISelectFromExpression>> exp) where T2 : class;// { this.InternalFrom(exp); var ret = new Select3Provider(_orm, _commonUtils, _commonExpression, null); Select0Provider, T1>.CopyData(this, ret, exp?.Parameters); return ret; } @@ -155,11 +155,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - public TMember Sum(Expression> column) + public decimal Sum(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(decimal); _tables[0].Parameter = column.Parameters[0]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } public List ToList(Expression> select) @@ -1055,11 +1055,11 @@ namespace FreeSql.Internal.CommonProvider _trackToList?.Invoke(list); } - public Task AvgAsync(Expression> column) + public Task AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); _tables[0].Parameter = column.Parameters[0]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } public Task MaxAsync(Expression> column) { @@ -1073,11 +1073,11 @@ namespace FreeSql.Internal.CommonProvider _tables[0].Parameter = column.Parameters[0]; return this.InternalMinAsync(column?.Body); } - public Task SumAsync(Expression> column) + public Task SumAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(decimal)); _tables[0].Parameter = column.Parameters[0]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } public Task> ToListAsync(Expression> select) { diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select2Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select2Provider.cs index 71eb62a9..f1d3fc81 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select2Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select2Provider.cs @@ -19,11 +19,11 @@ namespace FreeSql.Internal.CommonProvider _tables.Add(new SelectTableInfo { Table = _commonUtils.GetTableByEntity(typeof(T2)), Alias = $"SP10b", On = null, Type = SelectTableInfoType.From }); } - TMember ISelect.Avg(Expression> column) + double ISelect.Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(double); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } ISelectGrouping ISelect.GroupBy(Expression> exp) @@ -61,11 +61,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - TMember ISelect.Sum(Expression> column) + decimal ISelect.Sum(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } TReturn ISelect.ToAggregate(Expression, ISelectGroupingAggregate, TReturn>> select) @@ -149,11 +149,11 @@ namespace FreeSql.Internal.CommonProvider #if net40 #else - Task ISelect.AvgAsync(Expression> column) + Task ISelect.AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } Task ISelect.MaxAsync(Expression> column) @@ -170,11 +170,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalMinAsync(column?.Body); } - Task ISelect.SumAsync(Expression> column) + Task ISelect.SumAsync(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } Task ISelect.ToAggregateAsync(Expression, ISelectGroupingAggregate, TReturn>> select) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select3Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select3Provider.cs index 4430c762..bf9b37f3 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select3Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select3Provider.cs @@ -21,11 +21,11 @@ namespace FreeSql.Internal.CommonProvider _tables.Add(new SelectTableInfo { Table = _commonUtils.GetTableByEntity(typeof(T3)), Alias = $"SP10c", On = null, Type = SelectTableInfoType.From }); } - TMember ISelect.Avg(Expression> column) + double ISelect.Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(double); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } ISelectGrouping ISelect.GroupBy(Expression> exp) @@ -63,11 +63,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - TMember ISelect.Sum(Expression> column) + decimal ISelect.Sum(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } TReturn ISelect.ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) @@ -152,11 +152,11 @@ namespace FreeSql.Internal.CommonProvider #if net40 #else - Task ISelect.AvgAsync(Expression> column) + Task ISelect.AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } Task ISelect.MaxAsync(Expression> column) @@ -173,11 +173,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalMinAsync(column?.Body); } - Task ISelect.SumAsync(Expression> column) + Task ISelect.SumAsync(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } Task ISelect.ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select4Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select4Provider.cs index 0af86e6d..4d390f0f 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select4Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select4Provider.cs @@ -23,11 +23,11 @@ namespace FreeSql.Internal.CommonProvider _tables.Add(new SelectTableInfo { Table = _commonUtils.GetTableByEntity(typeof(T4)), Alias = $"SP10d", On = null, Type = SelectTableInfoType.From }); } - TMember ISelect.Avg(Expression> column) + double ISelect.Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(double); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } ISelectGrouping ISelect.GroupBy(Expression> exp) @@ -65,11 +65,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - TMember ISelect.Sum(Expression> column) + decimal ISelect.Sum(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } TReturn ISelect.ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) @@ -155,11 +155,11 @@ namespace FreeSql.Internal.CommonProvider #if net40 #else - Task ISelect.AvgAsync(Expression> column) + Task ISelect.AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } Task ISelect.MaxAsync(Expression> column) @@ -176,11 +176,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalMinAsync(column?.Body); } - Task ISelect.SumAsync(Expression> column) + Task ISelect.SumAsync(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } Task ISelect.ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select5Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select5Provider.cs index 56214a55..e0a13adc 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select5Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select5Provider.cs @@ -25,11 +25,11 @@ namespace FreeSql.Internal.CommonProvider _tables.Add(new SelectTableInfo { Table = _commonUtils.GetTableByEntity(typeof(T5)), Alias = $"SP10e", On = null, Type = SelectTableInfoType.From }); } - TMember ISelect.Avg(Expression> column) + double ISelect.Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(double); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } ISelectGrouping ISelect.GroupBy(Expression> exp) @@ -67,11 +67,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - TMember ISelect.Sum(Expression> column) + decimal ISelect.Sum(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } TReturn ISelect.ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) @@ -158,11 +158,11 @@ namespace FreeSql.Internal.CommonProvider #if net40 #else - Task ISelect.AvgAsync(Expression> column) + Task ISelect.AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } Task ISelect.MaxAsync(Expression> column) @@ -179,11 +179,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalMinAsync(column?.Body); } - Task ISelect.SumAsync(Expression> column) + Task ISelect.SumAsync(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } Task ISelect.ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select6Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select6Provider.cs index 2538c8e0..8c9c18d8 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select6Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select6Provider.cs @@ -27,11 +27,11 @@ namespace FreeSql.Internal.CommonProvider _tables.Add(new SelectTableInfo { Table = _commonUtils.GetTableByEntity(typeof(T6)), Alias = $"SP10f", On = null, Type = SelectTableInfoType.From }); } - TMember ISelect.Avg(Expression> column) + double ISelect.Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(double); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } ISelectGrouping ISelect.GroupBy(Expression> exp) @@ -69,11 +69,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - TMember ISelect.Sum(Expression> column) + decimal ISelect.Sum(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } TReturn ISelect.ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) @@ -161,11 +161,11 @@ namespace FreeSql.Internal.CommonProvider #if net40 #else - Task ISelect.AvgAsync(Expression> column) + Task ISelect.AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } Task ISelect.MaxAsync(Expression> column) @@ -182,11 +182,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalMinAsync(column?.Body); } - Task ISelect.SumAsync(Expression> column) + Task ISelect.SumAsync(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } Task ISelect.ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select7Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select7Provider.cs index 33b1e13e..b7065918 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select7Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select7Provider.cs @@ -29,11 +29,11 @@ namespace FreeSql.Internal.CommonProvider _tables.Add(new SelectTableInfo { Table = _commonUtils.GetTableByEntity(typeof(T7)), Alias = $"SP10g", On = null, Type = SelectTableInfoType.From }); } - TMember ISelect.Avg(Expression> column) + double ISelect.Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(double); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } ISelectGrouping ISelect.GroupBy(Expression> exp) @@ -71,11 +71,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - TMember ISelect.Sum(Expression> column) + decimal ISelect.Sum(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } TReturn ISelect.ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) @@ -164,11 +164,11 @@ namespace FreeSql.Internal.CommonProvider #if net40 #else - Task ISelect.AvgAsync(Expression> column) + Task ISelect.AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } Task ISelect.MaxAsync(Expression> column) @@ -185,11 +185,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalMinAsync(column?.Body); } - Task ISelect.SumAsync(Expression> column) + Task ISelect.SumAsync(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } Task ISelect.ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select8Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select8Provider.cs index 5f2dda4f..af888f39 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select8Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select8Provider.cs @@ -31,11 +31,11 @@ namespace FreeSql.Internal.CommonProvider _tables.Add(new SelectTableInfo { Table = _commonUtils.GetTableByEntity(typeof(T8)), Alias = $"SP10h", On = null, Type = SelectTableInfoType.From }); } - TMember ISelect.Avg(Expression> column) + double ISelect.Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(double); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } ISelectGrouping ISelect.GroupBy(Expression> exp) @@ -73,11 +73,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - TMember ISelect.Sum(Expression> column) + decimal ISelect.Sum(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } TReturn ISelect.ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) @@ -168,11 +168,11 @@ namespace FreeSql.Internal.CommonProvider #if net40 #else - Task ISelect.AvgAsync(Expression> column) + Task ISelect.AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } Task ISelect.MaxAsync(Expression> column) @@ -189,11 +189,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalMinAsync(column?.Body); } - Task ISelect.SumAsync(Expression> column) + Task ISelect.SumAsync(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } Task ISelect.ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select9Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select9Provider.cs index ba049ff9..c8186b68 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select9Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select9Provider.cs @@ -33,11 +33,11 @@ namespace FreeSql.Internal.CommonProvider _tables.Add(new SelectTableInfo { Table = _commonUtils.GetTableByEntity(typeof(T9)), Alias = $"SP10i", On = null, Type = SelectTableInfoType.From }); } - TMember ISelect.Avg(Expression> column) + double ISelect.Avg(Expression> column) { - if (column == null) return default(TMember); + if (column == null) return default(double); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvg(column?.Body); + return this.InternalAvg(column?.Body); } ISelectGrouping ISelect.GroupBy(Expression> exp) @@ -75,11 +75,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalOrderByDescending(column?.Body); } - TMember ISelect.Sum(Expression> column) + decimal ISelect.Sum(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSum(column?.Body); + return this.InternalSum(column?.Body); } TReturn ISelect.ToAggregate(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select) @@ -181,11 +181,11 @@ namespace FreeSql.Internal.CommonProvider Task> ISelect.ToListAsync() => (this as ISelect).ToListAsync(GetToListDtoSelector()); - Task ISelect.AvgAsync(Expression> column) + Task ISelect.AvgAsync(Expression> column) { - if (column == null) return Task.FromResult(default(TMember)); + if (column == null) return Task.FromResult(default(double)); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalAvgAsync(column?.Body); + return this.InternalAvgAsync(column?.Body); } Task ISelect.MaxAsync(Expression> column) @@ -202,11 +202,11 @@ namespace FreeSql.Internal.CommonProvider return this.InternalMinAsync(column?.Body); } - Task ISelect.SumAsync(Expression> column) + Task ISelect.SumAsync(Expression> column) { if (column == null) this.InternalOrderBy(column?.Body); for (var a = 0; a < column.Parameters.Count; a++) _tables[a].Parameter = column.Parameters[a]; - return this.InternalSumAsync(column?.Body); + return this.InternalSumAsync(column?.Body); } Task ISelect.ToAggregateAsync(Expression, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, ISelectGroupingAggregate, TReturn>> select)