mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 增加 ISelect.ToSql 字段别名设置,默认为 AsIndex,可改为 AsProperty;#158
This commit is contained in:
		@@ -110,6 +110,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>
 | 
			
		||||
            添加
 | 
			
		||||
 
 | 
			
		||||
@@ -995,6 +995,24 @@ WHERE (((cast(a.`Id` as char)) in (SELECT b.`Title`
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TestInclude_OneToManyModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -922,6 +922,24 @@ WHERE (((to_char(a.""ID"")) in (SELECT b.""TITLE""
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TiOtmModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -887,6 +887,24 @@ WHERE (((cast(a.[Id] as nvarchar)) in (SELECT b.[Title]
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TestInclude_OneToManyModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -1006,6 +1006,24 @@ WHERE (((cast(a.`Id` as char)) in (SELECT b.`Title`
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TestInclude_OneToManyModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -922,6 +922,24 @@ WHERE (((to_char(a.""ID"")) in (SELECT b.""TITLE""
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TiOtmModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -978,6 +978,24 @@ WHERE ((((a.""id"")::varchar) in (SELECT b.""title""
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TestInclude_OneToManyModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -868,6 +868,24 @@ WHERE (((cast(a.[Id] as nvarchar)) in (SELECT b.[Title]
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TestInclude_OneToManyModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -1037,6 +1037,24 @@ WHERE (((cast(a.`Id` as char)) in (SELECT b.`Title`
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TestInclude_OneToManyModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -922,6 +922,24 @@ WHERE (((to_char(a.""ID"")) in (SELECT b.""TITLE""
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TiOtmModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -995,6 +995,24 @@ WHERE ((((a.""id"")::varchar) in (SELECT b.""title""
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TestInclude_OneToManyModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -913,6 +913,24 @@ WHERE (((cast(a.[Id] as nvarchar)) in (SELECT b.[Title]
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TestInclude_OneToManyModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -906,6 +906,24 @@ WHERE (((cast(a.""Id"" as character)) in (SELECT b.""Title""
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Min(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Sum(a => a.Id);
 | 
			
		||||
            select.AsTable((_, old) => old).AsTable((_, old) => old).Avg(a => a.Id);
 | 
			
		||||
 | 
			
		||||
            var sqlsss = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_1" : null)
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"{old}_2" : null)
 | 
			
		||||
                .ToSql(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                }, FieldAliasOptions.AsProperty);
 | 
			
		||||
 | 
			
		||||
            var slsld3 = select
 | 
			
		||||
                .AsTable((type, old) => type == typeof(Topic) ? $"({sqlsss})" : null)
 | 
			
		||||
                .Page(1, 20)
 | 
			
		||||
                .ToList(a => new
 | 
			
		||||
                {
 | 
			
		||||
                    a.Id,
 | 
			
		||||
                    a.Clicks
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class TestInclude_OneToManyModel1
 | 
			
		||||
 
 | 
			
		||||
@@ -894,6 +894,17 @@
 | 
			
		||||
            </summary>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="F:FreeSql.FieldAliasOptions.AsIndex">
 | 
			
		||||
            <summary>
 | 
			
		||||
            自动产生 as1, as2, as3 .... 字段别名<para></para>
 | 
			
		||||
            这种方法可以最大程度防止多表,存在相同字段的问题
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="F:FreeSql.FieldAliasOptions.AsProperty">
 | 
			
		||||
            <summary>
 | 
			
		||||
            使用属性名作为字段别名
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ILinqToSql`1.Select``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
 | 
			
		||||
            <summary>
 | 
			
		||||
            【linq to sql】专用方法,不建议直接使用
 | 
			
		||||
@@ -1316,12 +1327,13 @@
 | 
			
		||||
            <typeparam name="TDto"></typeparam>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ISelect`1.ToSql``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
 | 
			
		||||
        <member name="M:FreeSql.ISelect`1.ToSql``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},FreeSql.FieldAliasOptions)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            返回即将执行的SQL语句
 | 
			
		||||
            </summary>
 | 
			
		||||
            <typeparam name="TReturn">返回类型</typeparam>
 | 
			
		||||
            <param name="select">选择列</param>
 | 
			
		||||
            <param name="fieldAlias">字段别名</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.ISelect`1.ToAggregate``1(System.Linq.Expressions.Expression{System.Func{FreeSql.ISelectGroupingAggregate{`0},``0}})">
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								FreeSql/Interface/Curd/ISelect/FieldAliasOptions.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								FreeSql/Interface/Curd/ISelect/FieldAliasOptions.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq.Expressions;
 | 
			
		||||
using System.Text;
 | 
			
		||||
 | 
			
		||||
namespace FreeSql
 | 
			
		||||
{
 | 
			
		||||
    public enum FieldAliasOptions
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 自动产生 as1, as2, as3 .... 字段别名<para></para>
 | 
			
		||||
        /// 这种方法可以最大程度防止多表,存在相同字段的问题
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        AsIndex,
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 使用属性名作为字段别名
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        AsProperty
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -89,8 +89,9 @@ namespace FreeSql
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <typeparam name="TReturn">返回类型</typeparam>
 | 
			
		||||
        /// <param name="select">选择列</param>
 | 
			
		||||
        /// <param name="fieldAlias">字段别名</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, TReturn>> select);
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 执行SQL查询,返回指定字段的聚合结果
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace FreeSql
 | 
			
		||||
        DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
 | 
			
		||||
        List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
 | 
			
		||||
        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);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace FreeSql
 | 
			
		||||
        DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, TReturn>> select);
 | 
			
		||||
        List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, TReturn>> select);
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, TReturn>> select);
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex);
 | 
			
		||||
        TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, TMember>> column);
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace FreeSql
 | 
			
		||||
        DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
 | 
			
		||||
        List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
 | 
			
		||||
        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);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace FreeSql
 | 
			
		||||
        DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
 | 
			
		||||
        List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
 | 
			
		||||
        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);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace FreeSql
 | 
			
		||||
        DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
 | 
			
		||||
        List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
 | 
			
		||||
        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);
 | 
			
		||||
        decimal Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
        TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace FreeSql
 | 
			
		||||
        DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
 | 
			
		||||
        List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
 | 
			
		||||
        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);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace FreeSql
 | 
			
		||||
        DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
 | 
			
		||||
        List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
 | 
			
		||||
        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);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace FreeSql
 | 
			
		||||
        DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
 | 
			
		||||
        List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
 | 
			
		||||
        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);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ namespace FreeSql
 | 
			
		||||
        DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
 | 
			
		||||
        List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
 | 
			
		||||
        List<TDto> ToList<TDto>();
 | 
			
		||||
        string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
 | 
			
		||||
        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);
 | 
			
		||||
        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);
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,7 @@ namespace FreeSql.Internal
 | 
			
		||||
            _common = common;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        internal const int ReadAnonymousFieldAsCsName = -53129;
 | 
			
		||||
        public bool ReadAnonymousField(List<SelectTableInfo> _tables, StringBuilder field, ReadAnonymousTypeInfo parent, ref int index, Expression exp, Func<Expression[], string> getSelectGroupingMapString, List<LambdaExpression> whereCascadeExpression, bool isAllDtoMap)
 | 
			
		||||
        {
 | 
			
		||||
            Func<ExpTSC> getTSC = () => new ExpTSC { _tables = _tables, getSelectGroupingMapString = getSelectGroupingMapString, tbtype = SelectTableInfoType.From, isQuoteName = true, isDisableDiyParse = false, style = ExpressionStyle.Where, whereCascadeExpression = whereCascadeExpression };
 | 
			
		||||
@@ -37,6 +38,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                    parent.DbField = $"-({ExpressionLambdaToSql(exp, getTSC())})";
 | 
			
		||||
                    field.Append(", ").Append(parent.DbField);
 | 
			
		||||
                    if (index >= 0) field.Append(" as").Append(++index);
 | 
			
		||||
                    else if (index == ReadAnonymousFieldAsCsName && string.IsNullOrEmpty(parent.CsName) == false) field.Append(" ").Append(parent.CsName);
 | 
			
		||||
                    return false;
 | 
			
		||||
                case ExpressionType.Convert: return ReadAnonymousField(_tables, field, parent, ref index, (exp as UnaryExpression)?.Operand, getSelectGroupingMapString, whereCascadeExpression, isAllDtoMap);
 | 
			
		||||
                case ExpressionType.Constant:
 | 
			
		||||
@@ -54,6 +56,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                        parent.DbField = _common.FormatSql("{0}", constExp?.Value);
 | 
			
		||||
                    field.Append(", ").Append(parent.DbField);
 | 
			
		||||
                    if (index >= 0) field.Append(" as").Append(++index);
 | 
			
		||||
                    else if (index == ReadAnonymousFieldAsCsName && string.IsNullOrEmpty(parent.CsName) == false) field.Append(" ").Append(parent.CsName);
 | 
			
		||||
                    return false;
 | 
			
		||||
                case ExpressionType.Call:
 | 
			
		||||
                    var callExp = exp as MethodCallExpression;
 | 
			
		||||
@@ -70,6 +73,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                        parent.DbField = ExpressionLambdaToSql(exp, getTSC());
 | 
			
		||||
                    field.Append(", ").Append(parent.DbField);
 | 
			
		||||
                    if (index >= 0) field.Append(" as").Append(++index);
 | 
			
		||||
                    else if (index == ReadAnonymousFieldAsCsName && string.IsNullOrEmpty(parent.CsName) == false) field.Append(" ").Append(parent.CsName);
 | 
			
		||||
                    return false;
 | 
			
		||||
                case ExpressionType.Parameter:
 | 
			
		||||
                case ExpressionType.MemberAccess:
 | 
			
		||||
@@ -102,6 +106,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                        parent.DbField = ExpressionLambdaToSql(exp, getTSC());
 | 
			
		||||
                        field.Append(", ").Append(parent.DbField);
 | 
			
		||||
                        if (index >= 0) field.Append(" as").Append(++index);
 | 
			
		||||
                        else if (index == ReadAnonymousFieldAsCsName && string.IsNullOrEmpty(parent.CsName) == false) field.Append(" ").Append(parent.CsName);
 | 
			
		||||
                        parent.MapType = SearchColumnByField(_tables, null, parent.DbField)?.Attribute.MapType ?? exp.Type;
 | 
			
		||||
                        return false;
 | 
			
		||||
                    }
 | 
			
		||||
@@ -219,6 +224,7 @@ namespace FreeSql.Internal
 | 
			
		||||
            parent.DbField = $"({ExpressionLambdaToSql(exp, getTSC())})";
 | 
			
		||||
            field.Append(", ").Append(parent.DbField);
 | 
			
		||||
            if (index >= 0) field.Append(" as").Append(++index);
 | 
			
		||||
            else if (index == ReadAnonymousFieldAsCsName && string.IsNullOrEmpty(parent.CsName) == false) field.Append(" ").Append(parent.CsName);
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
        public object ReadAnonymous(ReadAnonymousTypeInfo parent, DbDataReader dr, ref int index, bool notRead, ReadAnonymousDbValueRef dbValue)
 | 
			
		||||
 
 | 
			
		||||
@@ -525,11 +525,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return ToListMrPrivate<TReturn>(sql, af, otherData);
 | 
			
		||||
        }
 | 
			
		||||
        protected List<TReturn> ToListMapReader<TReturn>((ReadAnonymousTypeInfo map, string field) af) => ToListMapReaderPrivate<TReturn>(af, null);
 | 
			
		||||
        protected (ReadAnonymousTypeInfo map, string field) GetExpressionField(Expression newexp)
 | 
			
		||||
        protected (ReadAnonymousTypeInfo map, string field) GetExpressionField(Expression newexp, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            var map = new ReadAnonymousTypeInfo();
 | 
			
		||||
            var field = new StringBuilder();
 | 
			
		||||
            var index = 0;
 | 
			
		||||
            var index = fieldAlias == FieldAliasOptions.AsProperty ? CommonExpression.ReadAnonymousFieldAsCsName : 0;
 | 
			
		||||
 | 
			
		||||
            _commonExpression.ReadAnonymousField(_tables, field, map, ref index, newexp, null, _whereCascadeExpression, true);
 | 
			
		||||
            return (map, field.Length > 0 ? field.Remove(0, 2).ToString() : null);
 | 
			
		||||
@@ -1059,9 +1059,9 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        protected TSelect InternalOrderByDescending(Expression column) => this.OrderBy($"{_commonExpression.ExpressionSelectColumn_MemberAccess(_tables, null, SelectTableInfoType.From, column, true, null)} DESC");
 | 
			
		||||
 | 
			
		||||
        protected List<TReturn> InternalToList<TReturn>(Expression select) => this.ToListMapReader<TReturn>(this.GetExpressionField(select));
 | 
			
		||||
        protected string InternalToSql<TReturn>(Expression select)
 | 
			
		||||
        protected string InternalToSql<TReturn>(Expression select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            var af = this.GetExpressionField(select);
 | 
			
		||||
            var af = this.GetExpressionField(select, fieldAlias);
 | 
			
		||||
            return this.ToSql(af.field);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -121,11 +121,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select)
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> 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)
 | 
			
		||||
 
 | 
			
		||||
@@ -263,11 +263,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public string ToSql<TReturn>(Expression<Func<T1, TReturn>> select)
 | 
			
		||||
        public string ToSql<TReturn>(Expression<Func<T1, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            _tables[0].Parameter = select.Parameters[0];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, TReturn>> select)
 | 
			
		||||
 
 | 
			
		||||
@@ -98,11 +98,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        string ISelect<T1, T2>.ToSql<TReturn>(Expression<Func<T1, T2, TReturn>> select)
 | 
			
		||||
        string ISelect<T1, T2>.ToSql<TReturn>(Expression<Func<T1, T2, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2> ISelect<T1, T2>.LeftJoin(Expression<Func<T1, T2, bool>> exp)
 | 
			
		||||
 
 | 
			
		||||
@@ -101,11 +101,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        string ISelect<T1, T2, T3>.ToSql<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select)
 | 
			
		||||
        string ISelect<T1, T2, T3>.ToSql<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3> ISelect<T1, T2, T3>.LeftJoin(Expression<Func<T1, T2, T3, bool>> exp)
 | 
			
		||||
 
 | 
			
		||||
@@ -104,11 +104,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        string ISelect<T1, T2, T3, T4>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select)
 | 
			
		||||
        string ISelect<T1, T2, T3, T4>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4> ISelect<T1, T2, T3, T4>.LeftJoin(Expression<Func<T1, T2, T3, T4, bool>> exp)
 | 
			
		||||
 
 | 
			
		||||
@@ -107,11 +107,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select)
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5> ISelect<T1, T2, T3, T4, T5>.LeftJoin(Expression<Func<T1, T2, T3, T4, T5, bool>> exp)
 | 
			
		||||
 
 | 
			
		||||
@@ -110,11 +110,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select)
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6> ISelect<T1, T2, T3, T4, T5, T6>.LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, bool>> exp)
 | 
			
		||||
 
 | 
			
		||||
@@ -113,11 +113,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6, T7>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select)
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6, T7>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7> ISelect<T1, T2, T3, T4, T5, T6, T7>.LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, bool>> exp)
 | 
			
		||||
 
 | 
			
		||||
@@ -117,11 +117,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select)
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8> ISelect<T1, T2, T3, T4, T5, T6, T7, T8>.LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, bool>> exp)
 | 
			
		||||
 
 | 
			
		||||
@@ -117,11 +117,11 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToDataTable(select?.Body);
 | 
			
		||||
        }
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select)
 | 
			
		||||
        string ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select, FieldAliasOptions fieldAlias = FieldAliasOptions.AsIndex)
 | 
			
		||||
        {
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            if (select == null) return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
            for (var a = 0; a < select.Parameters.Count; a++) _tables[a].Parameter = select.Parameters[a];
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body);
 | 
			
		||||
            return this.InternalToSql<TReturn>(select?.Body, fieldAlias);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9> ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>.LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, bool>> exp)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user