mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 增加 ISelect Aggregate(lambda, out var result) 方法;
This commit is contained in:
		@@ -110,6 +110,17 @@ namespace FreeSql
 | 
			
		||||
        /// <param name="select"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, TReturn>> select);
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 执行SQL查询,返回指定字段的聚合结果给 output 参数<para></para>
 | 
			
		||||
        /// fsql.Select<T>()<para></para>
 | 
			
		||||
        /// .Aggregate(a => new { count = a.Count, sum = a.Sum(a.Key.Price) }, out var agg)<para></para>
 | 
			
		||||
        /// .Page(1, 10).ToList();
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <typeparam name="TReturn"></typeparam>
 | 
			
		||||
        /// <param name="select"></param>
 | 
			
		||||
        /// <param name="result"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        ISelect<T1> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, TReturn>> select, out TReturn result);
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 求和
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ namespace FreeSql
 | 
			
		||||
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        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);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Aggregate<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, out TReturn result);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ namespace FreeSql
 | 
			
		||||
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select);
 | 
			
		||||
        ISelect<T1, T2> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select, out TReturn result);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ namespace FreeSql
 | 
			
		||||
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select);
 | 
			
		||||
        ISelect<T1, T2, T3> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select, out TReturn result);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ namespace FreeSql
 | 
			
		||||
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select);
 | 
			
		||||
        ISelect<T1, T2, T3, T4> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select, out TReturn result);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ namespace FreeSql
 | 
			
		||||
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select, out TReturn result);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ namespace FreeSql
 | 
			
		||||
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select, out TReturn result);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ namespace FreeSql
 | 
			
		||||
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select, out TReturn result);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ namespace FreeSql
 | 
			
		||||
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, TReturn>> select);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, TReturn>> select, out TReturn result);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -40,6 +40,7 @@ namespace FreeSql
 | 
			
		||||
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        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);
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, TReturn>> select, out TReturn result);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user