mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 增加 ISelect Aggregate(lambda, out var result) 方法;
This commit is contained in:
		@@ -130,6 +130,13 @@
 | 
			
		||||
            清空状态数据
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.DbSet`1.RemoveAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
 | 
			
		||||
            <summary>
 | 
			
		||||
            根据 lambda 条件删除数据
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="predicate"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.DbSet`1.Add(`0)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            添加
 | 
			
		||||
 
 | 
			
		||||
@@ -812,6 +812,10 @@ namespace FreeSql.Tests.Dameng
 | 
			
		||||
        public void ToAggregate()
 | 
			
		||||
        {
 | 
			
		||||
            var sql = select.ToAggregate(a => new { sum = a.Sum(a.Key.Id + 11.11), avg = a.Avg(a.Key.Id), count = a.Count(), max = a.Max(a.Key.Id), min = a.Min(a.Key.Id) });
 | 
			
		||||
 | 
			
		||||
            select
 | 
			
		||||
                .Aggregate(a => new { sum = a.Sum(a.Key.Id), count = a.Count() }, out var output)
 | 
			
		||||
                .ToList();
 | 
			
		||||
        }
 | 
			
		||||
        [Fact]
 | 
			
		||||
        public void OrderBy()
 | 
			
		||||
 
 | 
			
		||||
@@ -231,8 +231,6 @@ namespace FreeSql.Tests
 | 
			
		||||
                    Id = a.Key, 
 | 
			
		||||
                    EdiId1 = SqlExt.Max(a.Key).Over().PartitionBy(new { a.Value.EdiId, a.Value.Id }).OrderByDescending(new { a.Value.EdiId, a.Value.Id }).ToValue(),
 | 
			
		||||
                    EdiId2 = SqlExt.Max(a.Key).Over().PartitionBy(a.Value.EdiId).OrderByDescending(a.Value.Id).ToValue(),
 | 
			
		||||
 | 
			
		||||
                    Sub1 = g.sqlserver.Select<Edi>().Where(b => b.Id == a.Key).Count()
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            var sqlextGroupConcat = g.mysql.Select<Edi, EdiItem>()
 | 
			
		||||
 
 | 
			
		||||
@@ -2032,6 +2032,18 @@
 | 
			
		||||
            <param name="select"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ISelect`1.Aggregate``1(System.Linq.Expressions.Expression{System.Func{FreeSql.ISelectGroupingAggregate{`0},``0}},``0@)">
 | 
			
		||||
            <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>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ISelect`1.Sum``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
 | 
			
		||||
            <summary>
 | 
			
		||||
            求和
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 
 | 
			
		||||
@@ -118,6 +118,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> 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)
 | 
			
		||||
        {
 | 
			
		||||
            result = (this as ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>).ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TReturn> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -210,6 +210,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            _tables[0].Parameter = select.Parameters[0];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        public ISelect<T1> Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, TReturn>> select, out TReturn result)
 | 
			
		||||
        {
 | 
			
		||||
            result = ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public ISelect<T1> Where(Expression<Func<T1, bool>> exp) => WhereIf(true, exp);
 | 
			
		||||
        public ISelect<T1> WhereIf(bool condition, Expression<Func<T1, bool>> exp)
 | 
			
		||||
 
 | 
			
		||||
@@ -94,6 +94,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        ISelect<T1, T2> ISelect<T1, T2>.Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select, out TReturn result)
 | 
			
		||||
        {
 | 
			
		||||
            result = (this as ISelect<T1, T2>).ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TReturn> ISelect<T1, T2>.ToList<TReturn>(Expression<Func<T1, T2, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        ISelect<T1, T2, T3> ISelect<T1, T2, T3>.Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select, out TReturn result)
 | 
			
		||||
        {
 | 
			
		||||
            result = (this as ISelect<T1, T2, T3>).ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TReturn> ISelect<T1, T2, T3>.ToList<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -100,6 +100,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        ISelect<T1, T2, T3, T4> ISelect<T1, T2, T3, T4>.Aggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select, out TReturn result)
 | 
			
		||||
        {
 | 
			
		||||
            result = (this as ISelect<T1, T2, T3, T4>).ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TReturn> ISelect<T1, T2, T3, T4>.ToList<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -103,6 +103,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5> 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)
 | 
			
		||||
        {
 | 
			
		||||
            result = (this as ISelect<T1, T2, T3, T4, T5>).ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TReturn> ISelect<T1, T2, T3, T4, T5>.ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -106,6 +106,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6> 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)
 | 
			
		||||
        {
 | 
			
		||||
            result = (this as ISelect<T1, T2, T3, T4, T5, T6>).ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TReturn> ISelect<T1, T2, T3, T4, T5, T6>.ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -109,6 +109,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7> 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)
 | 
			
		||||
        {
 | 
			
		||||
            result = (this as ISelect<T1, T2, T3, T4, T5, T6, T7>).ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TReturn> ISelect<T1, T2, T3, T4, T5, T6, T7>.ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -112,6 +112,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8> 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)
 | 
			
		||||
        {
 | 
			
		||||
            result = (this as ISelect<T1, T2, T3, T4, T5, T6, T7, T8>).ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TReturn> ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -115,6 +115,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToAggregate<TReturn>(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9> 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)
 | 
			
		||||
        {
 | 
			
		||||
            result = (this as ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>).ToAggregate(select);
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TReturn> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user