mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 优化 AsTable 分表查询 Any/Min/Max/Avg/Sum/Count 的处理;#158
- 调整 Avg 方法返回值为 double,Sum 方法返回值为 decimal;
This commit is contained in:
		@@ -23,10 +23,10 @@ namespace FreeSql
 | 
			
		||||
        Task<TDto> FirstAsync<TDto>();
 | 
			
		||||
        
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, TReturn>> select);
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
@@ -106,7 +106,7 @@ namespace FreeSql
 | 
			
		||||
        /// <typeparam name="TMember">返回类型</typeparam>
 | 
			
		||||
        /// <param name="column">列</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 最小值
 | 
			
		||||
        /// </summary>
 | 
			
		||||
@@ -127,7 +127,7 @@ namespace FreeSql
 | 
			
		||||
        /// <typeparam name="TMember">返回类型</typeparam>
 | 
			
		||||
        /// <param name="column">列</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 指定别名
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql
 | 
			
		||||
        Task<List<TDto>> ToListAsync<TDto>();
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, ISelectGroupingAggregate<T10>, TReturn>> select);
 | 
			
		||||
        
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> exp);
 | 
			
		||||
@@ -30,10 +30,10 @@ namespace FreeSql
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, ISelectGroupingAggregate<T10>, TReturn>> select);
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> exp);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> exp);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql
 | 
			
		||||
        Task<List<TDto>> ToListAsync<TDto>();
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        bool Any(Expression<Func<T1, T2, bool>> exp);
 | 
			
		||||
@@ -30,10 +30,10 @@ namespace FreeSql
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, TReturn>> select);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select);
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        TMember Max<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2> LeftJoin(Expression<Func<T1, T2, bool>> exp);
 | 
			
		||||
        ISelect<T1, T2> InnerJoin(Expression<Func<T1, T2, bool>> exp);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql
 | 
			
		||||
        Task<List<TDto>> ToListAsync<TDto>();
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        bool Any(Expression<Func<T1, T2, T3, bool>> exp);
 | 
			
		||||
@@ -30,10 +30,10 @@ namespace FreeSql
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select);
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        TMember Max<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3> LeftJoin(Expression<Func<T1, T2, T3, bool>> exp);
 | 
			
		||||
        ISelect<T1, T2, T3> InnerJoin(Expression<Func<T1, T2, T3, bool>> exp);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql
 | 
			
		||||
        Task<List<TDto>> ToListAsync<TDto>();
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        bool Any(Expression<Func<T1, T2, T3, T4, bool>> exp);
 | 
			
		||||
@@ -30,10 +30,10 @@ namespace FreeSql
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select);
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4> LeftJoin(Expression<Func<T1, T2, T3, T4, bool>> exp);
 | 
			
		||||
        ISelect<T1, T2, T3, T4> InnerJoin(Expression<Func<T1, T2, T3, T4, bool>> exp);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql
 | 
			
		||||
        Task<List<TDto>> ToListAsync<TDto>();
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        bool Any(Expression<Func<T1, T2, T3, T4, T5, bool>> exp);
 | 
			
		||||
@@ -30,10 +30,10 @@ namespace FreeSql
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select);
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, bool>> exp);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, bool>> exp);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql
 | 
			
		||||
        Task<List<TDto>> ToListAsync<TDto>();
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, bool>> exp);
 | 
			
		||||
@@ -30,10 +30,10 @@ namespace FreeSql
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select);
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, bool>> exp);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, bool>> exp);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql
 | 
			
		||||
        Task<List<TDto>> ToListAsync<TDto>();
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, bool>> exp);
 | 
			
		||||
@@ -30,10 +30,10 @@ namespace FreeSql
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select);
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, bool>> exp);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, bool>> exp);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql
 | 
			
		||||
        Task<List<TDto>> ToListAsync<TDto>();
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, bool>> exp);
 | 
			
		||||
@@ -30,10 +30,10 @@ namespace FreeSql
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, TReturn>> select);
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, bool>> exp);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, bool>> exp);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql
 | 
			
		||||
        Task<List<TDto>> ToListAsync<TDto>();
 | 
			
		||||
        Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, TReturn>> select);
 | 
			
		||||
 | 
			
		||||
        Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        Task<decimal> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        Task<double> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, bool>> exp);
 | 
			
		||||
@@ -30,10 +30,10 @@ namespace FreeSql
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, TReturn>> select);
 | 
			
		||||
        TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
        double Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, bool>> exp);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, bool>> exp);
 | 
			
		||||
 
 | 
			
		||||
@@ -155,10 +155,10 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        public bool Any()
 | 
			
		||||
        {
 | 
			
		||||
            this.Limit(1);
 | 
			
		||||
            return this.ToList<int>("1 as1").FirstOrDefault() == 1;
 | 
			
		||||
            return this.ToList<int>("1 as1").Sum() > 0; //这里的 Sum 为了分表查询
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public long Count() => this.ToList<int>("count(1) as1").FirstOrDefault();
 | 
			
		||||
        public long Count() => this.ToList<int>("count(1) as1").Sum(); //这里的 Sum 为了分表查询
 | 
			
		||||
 | 
			
		||||
        public TSelect Count(out long count)
 | 
			
		||||
        {
 | 
			
		||||
@@ -1023,10 +1023,14 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        }
 | 
			
		||||
        #region common
 | 
			
		||||
 | 
			
		||||
        protected TMember InternalAvg<TMember>(Expression exp) => this.ToList<TMember>($"avg({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").FirstOrDefault();
 | 
			
		||||
        protected TMember InternalMax<TMember>(Expression exp) => this.ToList<TMember>($"max({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").FirstOrDefault();
 | 
			
		||||
        protected TMember InternalMin<TMember>(Expression exp) => this.ToList<TMember>($"min({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").FirstOrDefault();
 | 
			
		||||
        protected TMember InternalSum<TMember>(Expression exp) => this.ToList<TMember>($"sum({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").FirstOrDefault();
 | 
			
		||||
        protected double InternalAvg(Expression exp)
 | 
			
		||||
        {
 | 
			
		||||
            var list = this.ToList<double>($"avg({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1");
 | 
			
		||||
            return list.Sum() / list.Count;
 | 
			
		||||
        }
 | 
			
		||||
        protected TMember InternalMax<TMember>(Expression exp) => this.ToList<TMember>($"max({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").Max();
 | 
			
		||||
        protected TMember InternalMin<TMember>(Expression exp) => this.ToList<TMember>($"min({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").Min();
 | 
			
		||||
        protected decimal InternalSum(Expression exp) => this.ToList<decimal>($"sum({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1").Sum();
 | 
			
		||||
 | 
			
		||||
        protected ISelectGrouping<TKey, TValue> InternalGroupBy<TKey, TValue>(Expression columns)
 | 
			
		||||
        {
 | 
			
		||||
@@ -1104,10 +1108,10 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        async public Task<bool> AnyAsync()
 | 
			
		||||
        {
 | 
			
		||||
            this.Limit(1);
 | 
			
		||||
            return (await this.ToListAsync<int>("1 as1")).FirstOrDefault() == 1;
 | 
			
		||||
            return (await this.ToListAsync<int>("1 as1")).Sum() > 0; //这里的 Sum 为了分表查询
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        async public Task<long> CountAsync() => (await this.ToListAsync<int>("count(1) as1")).FirstOrDefault();
 | 
			
		||||
        async public Task<long> CountAsync() => (await this.ToListAsync<int>("count(1) as1")).Sum(); //这里的 Sum 为了分表查询
 | 
			
		||||
 | 
			
		||||
        async public Task<DataTable> ToDataTableAsync(string field = null)
 | 
			
		||||
        {
 | 
			
		||||
@@ -1284,10 +1288,14 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        }
 | 
			
		||||
        protected Task<List<TReturn>> ToListMapReaderAsync<TReturn>((ReadAnonymousTypeInfo map, string field) af) => ToListMapReaderPrivateAsync<TReturn>(af, null);
 | 
			
		||||
 | 
			
		||||
        async protected Task<TMember> InternalAvgAsync<TMember>(Expression exp) => (await this.ToListAsync<TMember>($"avg({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).FirstOrDefault();
 | 
			
		||||
        async protected Task<TMember> InternalMaxAsync<TMember>(Expression exp) => (await this.ToListAsync<TMember>($"max({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).FirstOrDefault();
 | 
			
		||||
        async protected Task<TMember> InternalMinAsync<TMember>(Expression exp) => (await this.ToListAsync<TMember>($"min({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).FirstOrDefault();
 | 
			
		||||
        async protected Task<TMember> InternalSumAsync<TMember>(Expression exp) => (await this.ToListAsync<TMember>($"sum({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).FirstOrDefault();
 | 
			
		||||
        async protected Task<double> InternalAvgAsync(Expression exp)
 | 
			
		||||
        {
 | 
			
		||||
            var list = await this.ToListAsync<double>($"avg({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1");
 | 
			
		||||
            return list.Sum() / list.Count;
 | 
			
		||||
        }
 | 
			
		||||
        async protected Task<TMember> InternalMaxAsync<TMember>(Expression exp) => (await this.ToListAsync<TMember>($"max({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).Max();
 | 
			
		||||
        async protected Task<TMember> InternalMinAsync<TMember>(Expression exp) => (await this.ToListAsync<TMember>($"min({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).Min();
 | 
			
		||||
        async protected Task<decimal> InternalSumAsync(Expression exp) => (await this.ToListAsync<decimal>($"sum({_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, exp, true, null)}) as1")).Sum();
 | 
			
		||||
 | 
			
		||||
        protected Task<List<TReturn>> InternalToListAsync<TReturn>(Expression select) => this.ToListMapReaderAsync<TReturn>(this.GetExpressionField(select));
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column)
 | 
			
		||||
        double ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelectGrouping<TKey, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.GroupBy<TKey>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TKey>> exp)
 | 
			
		||||
@@ -77,11 +77,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TMember ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column)
 | 
			
		||||
        decimal ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TReturn ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, ISelectGroupingAggregate<T10>, TReturn>> select)
 | 
			
		||||
@@ -172,11 +172,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
#if net40
 | 
			
		||||
#else
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column)
 | 
			
		||||
        Task<double> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column)
 | 
			
		||||
@@ -193,11 +193,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column)
 | 
			
		||||
        Task<decimal> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TReturn> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, ISelectGroupingAggregate<T10>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
@@ -104,11 +104,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public TMember Avg<TMember>(Expression<Func<T1, TMember>> column)
 | 
			
		||||
        public double Avg<TMember>(Expression<Func<T1, TMember>> column)
 | 
			
		||||
        {
 | 
			
		||||
            if (column == null) return default(TMember);
 | 
			
		||||
            if (column == null) return default(double);
 | 
			
		||||
            _tables[0].Parameter = column.Parameters[0];
 | 
			
		||||
            return this.InternalAvg<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public abstract ISelect<T1, T2> From<T2>(Expression<Func<ISelectFromExpression<T1>, T2, ISelectFromExpression<T1>>> exp) where T2 : class;// { this.InternalFrom(exp); var ret = new Select3Provider<T1, T2, T3>(_orm, _commonUtils, _commonExpression, null); Select0Provider<ISelect<T1>, T1>.CopyData(this, ret, exp?.Parameters); return ret; }
 | 
			
		||||
@@ -155,11 +155,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public TMember Sum<TMember>(Expression<Func<T1, TMember>> column)
 | 
			
		||||
        public decimal Sum<TMember>(Expression<Func<T1, TMember>> column)
 | 
			
		||||
        {
 | 
			
		||||
            if (column == null) return default(TMember);
 | 
			
		||||
            if (column == null) return default(decimal);
 | 
			
		||||
            _tables[0].Parameter = column.Parameters[0];
 | 
			
		||||
            return this.InternalSum<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public List<TReturn> ToList<TReturn>(Expression<Func<T1, TReturn>> select)
 | 
			
		||||
@@ -1055,11 +1055,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            _trackToList?.Invoke(list);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Task<TMember> AvgAsync<TMember>(Expression<Func<T1, TMember>> column)
 | 
			
		||||
        public Task<double> AvgAsync<TMember>(Expression<Func<T1, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        public Task<TMember> MaxAsync<TMember>(Expression<Func<T1, TMember>> column)
 | 
			
		||||
        {
 | 
			
		||||
@@ -1073,11 +1073,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            _tables[0].Parameter = column.Parameters[0];
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        public Task<TMember> SumAsync<TMember>(Expression<Func<T1, TMember>> column)
 | 
			
		||||
        public Task<decimal> SumAsync<TMember>(Expression<Func<T1, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        public Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -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<T1, T2>.Avg<TMember>(Expression<Func<T1, T2, TMember>> column)
 | 
			
		||||
        double ISelect<T1, T2>.Avg<TMember>(Expression<Func<T1, T2, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelectGrouping<TKey, (T1, T2)> ISelect<T1, T2>.GroupBy<TKey>(Expression<Func<T1, T2, TKey>> exp)
 | 
			
		||||
@@ -61,11 +61,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TMember ISelect<T1, T2>.Sum<TMember>(Expression<Func<T1, T2, TMember>> column)
 | 
			
		||||
        decimal ISelect<T1, T2>.Sum<TMember>(Expression<Func<T1, T2, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TReturn ISelect<T1, T2>.ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select)
 | 
			
		||||
@@ -149,11 +149,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
#if net40
 | 
			
		||||
#else
 | 
			
		||||
        Task<TMember> ISelect<T1, T2>.AvgAsync<TMember>(Expression<Func<T1, T2, TMember>> column)
 | 
			
		||||
        Task<double> ISelect<T1, T2>.AvgAsync<TMember>(Expression<Func<T1, T2, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2>.MaxAsync<TMember>(Expression<Func<T1, T2, TMember>> column)
 | 
			
		||||
@@ -170,11 +170,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2>.SumAsync<TMember>(Expression<Func<T1, T2, TMember>> column)
 | 
			
		||||
        Task<decimal> ISelect<T1, T2>.SumAsync<TMember>(Expression<Func<T1, T2, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TReturn> ISelect<T1, T2>.ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
@@ -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<T1, T2, T3>.Avg<TMember>(Expression<Func<T1, T2, T3, TMember>> column)
 | 
			
		||||
        double ISelect<T1, T2, T3>.Avg<TMember>(Expression<Func<T1, T2, T3, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelectGrouping<TKey, (T1, T2, T3)> ISelect<T1, T2, T3>.GroupBy<TKey>(Expression<Func<T1, T2, T3, TKey>> exp)
 | 
			
		||||
@@ -63,11 +63,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TMember ISelect<T1, T2, T3>.Sum<TMember>(Expression<Func<T1, T2, T3, TMember>> column)
 | 
			
		||||
        decimal ISelect<T1, T2, T3>.Sum<TMember>(Expression<Func<T1, T2, T3, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TReturn ISelect<T1, T2, T3>.ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select)
 | 
			
		||||
@@ -152,11 +152,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
#if net40
 | 
			
		||||
#else
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column)
 | 
			
		||||
        Task<double> ISelect<T1, T2, T3>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3>.MaxAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column)
 | 
			
		||||
@@ -173,11 +173,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3>.SumAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column)
 | 
			
		||||
        Task<decimal> ISelect<T1, T2, T3>.SumAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TReturn> ISelect<T1, T2, T3>.ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
@@ -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<T1, T2, T3, T4>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column)
 | 
			
		||||
        double ISelect<T1, T2, T3, T4>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelectGrouping<TKey, (T1, T2, T3, T4)> ISelect<T1, T2, T3, T4>.GroupBy<TKey>(Expression<Func<T1, T2, T3, T4, TKey>> exp)
 | 
			
		||||
@@ -65,11 +65,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TMember ISelect<T1, T2, T3, T4>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column)
 | 
			
		||||
        decimal ISelect<T1, T2, T3, T4>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TReturn ISelect<T1, T2, T3, T4>.ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select)
 | 
			
		||||
@@ -155,11 +155,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
#if net40
 | 
			
		||||
#else
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column)
 | 
			
		||||
        Task<double> ISelect<T1, T2, T3, T4>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4>.MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column)
 | 
			
		||||
@@ -176,11 +176,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column)
 | 
			
		||||
        Task<decimal> ISelect<T1, T2, T3, T4>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TReturn> ISelect<T1, T2, T3, T4>.ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
@@ -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<T1, T2, T3, T4, T5>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column)
 | 
			
		||||
        double ISelect<T1, T2, T3, T4, T5>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelectGrouping<TKey, (T1, T2, T3, T4, T5)> ISelect<T1, T2, T3, T4, T5>.GroupBy<TKey>(Expression<Func<T1, T2, T3, T4, T5, TKey>> exp)
 | 
			
		||||
@@ -67,11 +67,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TMember ISelect<T1, T2, T3, T4, T5>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column)
 | 
			
		||||
        decimal ISelect<T1, T2, T3, T4, T5>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TReturn ISelect<T1, T2, T3, T4, T5>.ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select)
 | 
			
		||||
@@ -158,11 +158,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
#if net40
 | 
			
		||||
#else
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column)
 | 
			
		||||
        Task<double> ISelect<T1, T2, T3, T4, T5>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5>.MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column)
 | 
			
		||||
@@ -179,11 +179,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column)
 | 
			
		||||
        Task<decimal> ISelect<T1, T2, T3, T4, T5>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TReturn> ISelect<T1, T2, T3, T4, T5>.ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
@@ -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<T1, T2, T3, T4, T5, T6>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column)
 | 
			
		||||
        double ISelect<T1, T2, T3, T4, T5, T6>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelectGrouping<TKey, (T1, T2, T3, T4, T5, T6)> ISelect<T1, T2, T3, T4, T5, T6>.GroupBy<TKey>(Expression<Func<T1, T2, T3, T4, T5, T6, TKey>> exp)
 | 
			
		||||
@@ -69,11 +69,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TMember ISelect<T1, T2, T3, T4, T5, T6>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column)
 | 
			
		||||
        decimal ISelect<T1, T2, T3, T4, T5, T6>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TReturn ISelect<T1, T2, T3, T4, T5, T6>.ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select)
 | 
			
		||||
@@ -161,11 +161,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
#if net40
 | 
			
		||||
#else
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column)
 | 
			
		||||
        Task<double> ISelect<T1, T2, T3, T4, T5, T6>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6>.MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column)
 | 
			
		||||
@@ -182,11 +182,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column)
 | 
			
		||||
        Task<decimal> ISelect<T1, T2, T3, T4, T5, T6>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TReturn> ISelect<T1, T2, T3, T4, T5, T6>.ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
@@ -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<T1, T2, T3, T4, T5, T6, T7>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column)
 | 
			
		||||
        double ISelect<T1, T2, T3, T4, T5, T6, T7>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelectGrouping<TKey, (T1, T2, T3, T4, T5, T6, T7)> ISelect<T1, T2, T3, T4, T5, T6, T7>.GroupBy<TKey>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TKey>> exp)
 | 
			
		||||
@@ -71,11 +71,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TMember ISelect<T1, T2, T3, T4, T5, T6, T7>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column)
 | 
			
		||||
        decimal ISelect<T1, T2, T3, T4, T5, T6, T7>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TReturn ISelect<T1, T2, T3, T4, T5, T6, T7>.ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select)
 | 
			
		||||
@@ -164,11 +164,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
#if net40
 | 
			
		||||
#else
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column)
 | 
			
		||||
        Task<double> ISelect<T1, T2, T3, T4, T5, T6, T7>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7>.MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column)
 | 
			
		||||
@@ -185,11 +185,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column)
 | 
			
		||||
        Task<decimal> ISelect<T1, T2, T3, T4, T5, T6, T7>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TReturn> ISelect<T1, T2, T3, T4, T5, T6, T7>.ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
@@ -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<T1, T2, T3, T4, T5, T6, T7, T8>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column)
 | 
			
		||||
        double ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelectGrouping<TKey, (T1, T2, T3, T4, T5, T6, T7, T8)> ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.GroupBy<TKey>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TKey>> exp)
 | 
			
		||||
@@ -73,11 +73,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TMember ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column)
 | 
			
		||||
        decimal ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TReturn ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, TReturn>> select)
 | 
			
		||||
@@ -168,11 +168,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
#if net40
 | 
			
		||||
#else
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column)
 | 
			
		||||
        Task<double> ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column)
 | 
			
		||||
@@ -189,11 +189,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column)
 | 
			
		||||
        Task<decimal> ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TReturn> ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
@@ -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<T1, T2, T3, T4, T5, T6, T7, T8, T9>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column)
 | 
			
		||||
        double ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvg(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelectGrouping<TKey, (T1, T2, T3, T4, T5, T6, T7, T8, T9)> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.GroupBy<TKey>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TKey>> exp)
 | 
			
		||||
@@ -75,11 +75,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalOrderByDescending(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TMember ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column)
 | 
			
		||||
        decimal ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSum(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TReturn ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, TReturn>> select)
 | 
			
		||||
@@ -181,11 +181,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
 | 
			
		||||
        Task<List<TDto>> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.ToListAsync<TDto>() => (this as ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>).ToListAsync(GetToListDtoSelector<TDto>());
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column)
 | 
			
		||||
        Task<double> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalAvgAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column)
 | 
			
		||||
@@ -202,11 +202,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalMinAsync<TMember>(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TMember> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column)
 | 
			
		||||
        Task<decimal> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> 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<TMember>(column?.Body);
 | 
			
		||||
            return this.InternalSumAsync(column?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        Task<TReturn> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user