Synchronization code

This commit is contained in:
sunkaixuan
2022-11-27 14:25:16 +08:00
parent 12e2069f23
commit 09d6ab1d17
5 changed files with 233 additions and 1 deletions

View File

@@ -9,6 +9,7 @@ using System.Text.RegularExpressions;
using System.Reflection;
using System.Dynamic;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
namespace SqlSugar
{
@@ -877,6 +878,21 @@ namespace SqlSugar
#endregion
#region Other
protected string AppendSelect<EntityType>(string sql, ReadOnlyCollection<ParameterExpression> parameters, List<EntityColumnInfo> columnsResult, int parameterIndex1)
{
var columns = this.Context.EntityMaintenance.GetEntityInfo<EntityType>().Columns;
var parameterName = parameters[parameterIndex1];
foreach (var item in columns)
{
if (item.IsIgnore == false && columnsResult.Any(it => it.PropertyName.EqualCase(item.PropertyName)) && !sql.ToLower().Contains(SqlBuilder.GetTranslationColumnName(item.PropertyName.ToLower())))
{
sql = $" {sql},{parameterName.Name}.{SqlBuilder.GetTranslationColumnName(item.DbColumnName)} AS {SqlBuilder.GetTranslationColumnName(item.PropertyName)} ";
}
}
return sql;
}
protected JoinQueryInfo GetJoinInfo(Expression joinExpression, JoinType joinType)
{
QueryBuilder.CheckExpressionNew(joinExpression, "Join");

View File

@@ -9,6 +9,7 @@ using System.Text.RegularExpressions;
using System.Reflection;
using System.Dynamic;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
namespace SqlSugar
{
@@ -192,7 +193,19 @@ namespace SqlSugar
{
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T,T2, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
return this.Select<TResult>(sql);
}
#endregion
#region Order
@@ -805,6 +818,21 @@ namespace SqlSugar
#endregion
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2,T3, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
return this.Select<TResult>(sql);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
return _Select<TResult>(expression);
@@ -1306,6 +1334,22 @@ namespace SqlSugar
#endregion
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3,T4, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
sql = AppendSelect<T4>(sql, parameters, columnsResult, 3);
return this.Select<TResult>(sql);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
return _Select<TResult>(expression);
@@ -1937,6 +1981,23 @@ namespace SqlSugar
#endregion
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4,T5, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
sql = AppendSelect<T4>(sql, parameters, columnsResult, 3);
sql = AppendSelect<T5>(sql, parameters, columnsResult, 4);
return this.Select<TResult>(sql);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
return _Select<TResult>(expression);

View File

@@ -242,6 +242,23 @@ namespace SqlSugar
{
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5,T6, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
sql = AppendSelect<T4>(sql, parameters, columnsResult, 3);
sql = AppendSelect<T5>(sql, parameters, columnsResult, 4);
sql = AppendSelect<T6>(sql, parameters, columnsResult, 5);
return this.Select<TResult>(sql);
}
#endregion
#region OrderBy
@@ -849,6 +866,25 @@ namespace SqlSugar
{
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6,T7, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
sql = AppendSelect<T4>(sql, parameters, columnsResult, 3);
sql = AppendSelect<T5>(sql, parameters, columnsResult, 4);
sql = AppendSelect<T6>(sql, parameters, columnsResult, 5);
sql = AppendSelect<T7>(sql, parameters, columnsResult, 6);
return this.Select<TResult>(sql);
}
#endregion
#region OrderBy
@@ -1422,6 +1458,26 @@ namespace SqlSugar
{
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7,T8, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
sql = AppendSelect<T4>(sql, parameters, columnsResult, 3);
sql = AppendSelect<T5>(sql, parameters, columnsResult, 4);
sql = AppendSelect<T6>(sql, parameters, columnsResult, 5);
sql = AppendSelect<T7>(sql, parameters, columnsResult, 6);
sql = AppendSelect<T8>(sql, parameters, columnsResult, 7);
return this.Select<TResult>(sql);
}
#endregion
#region OrderBy
@@ -1932,6 +1988,27 @@ namespace SqlSugar
#endregion
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8,T9, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
sql = AppendSelect<T4>(sql, parameters, columnsResult, 3);
sql = AppendSelect<T5>(sql, parameters, columnsResult, 4);
sql = AppendSelect<T6>(sql, parameters, columnsResult, 5);
sql = AppendSelect<T7>(sql, parameters, columnsResult, 6);
sql = AppendSelect<T8>(sql, parameters, columnsResult, 7);
sql = AppendSelect<T9>(sql, parameters, columnsResult, 8);
return this.Select<TResult>(sql);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
return _Select<TResult>(expression);
@@ -2488,6 +2565,28 @@ namespace SqlSugar
#endregion
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9,T10, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
sql = AppendSelect<T4>(sql, parameters, columnsResult, 3);
sql = AppendSelect<T5>(sql, parameters, columnsResult, 4);
sql = AppendSelect<T6>(sql, parameters, columnsResult, 5);
sql = AppendSelect<T7>(sql, parameters, columnsResult, 6);
sql = AppendSelect<T8>(sql, parameters, columnsResult, 7);
sql = AppendSelect<T9>(sql, parameters, columnsResult, 8);
sql = AppendSelect<T10>(sql, parameters, columnsResult, 9);
return this.Select<TResult>(sql);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
return _Select<TResult>(expression);

View File

@@ -252,6 +252,28 @@ namespace SqlSugar
#endregion
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10,T11, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
sql = AppendSelect<T4>(sql, parameters, columnsResult, 3);
sql = AppendSelect<T5>(sql, parameters, columnsResult, 4);
sql = AppendSelect<T6>(sql, parameters, columnsResult, 5);
sql = AppendSelect<T7>(sql, parameters, columnsResult, 6);
sql = AppendSelect<T8>(sql, parameters, columnsResult, 7);
sql = AppendSelect<T9>(sql, parameters, columnsResult, 8);
sql = AppendSelect<T10>(sql, parameters, columnsResult, 9);
sql = AppendSelect<T11>(sql, parameters, columnsResult, 10);
return this.Select<TResult>(sql);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
return _Select<TResult>(expression);
@@ -782,6 +804,29 @@ namespace SqlSugar
#endregion
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,T12, TResult>> expression, bool isAutoFill)
{
var sql = this.Clone().Select(expression).QueryBuilder.GetSelectValue;
if (this.QueryBuilder.IsSingle() || string.IsNullOrEmpty(sql) || sql.Trim() == "*")
{
return this.Select<TResult>(expression);
}
var parameters = (expression as LambdaExpression).Parameters;
var columnsResult = this.Context.EntityMaintenance.GetEntityInfo<TResult>().Columns;
sql = AppendSelect<T>(sql, parameters, columnsResult, 0);
sql = AppendSelect<T2>(sql, parameters, columnsResult, 1);
sql = AppendSelect<T3>(sql, parameters, columnsResult, 2);
sql = AppendSelect<T4>(sql, parameters, columnsResult, 3);
sql = AppendSelect<T5>(sql, parameters, columnsResult, 4);
sql = AppendSelect<T6>(sql, parameters, columnsResult, 5);
sql = AppendSelect<T7>(sql, parameters, columnsResult, 6);
sql = AppendSelect<T8>(sql, parameters, columnsResult, 7);
sql = AppendSelect<T9>(sql, parameters, columnsResult, 8);
sql = AppendSelect<T10>(sql, parameters, columnsResult, 9);
sql = AppendSelect <T11>(sql, parameters, columnsResult, 10);
sql = AppendSelect<T12>(sql, parameters, columnsResult, 11);
return this.Select<TResult>(sql);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
return _Select<TResult>(expression);

View File

@@ -254,6 +254,7 @@ namespace SqlSugar
#region Select
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T,T2, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy
@@ -359,6 +360,7 @@ namespace SqlSugar
#endregion
#region Select
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2,T3, TResult>> expression, bool isAutoFill);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression);
#endregion
@@ -484,6 +486,7 @@ namespace SqlSugar
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3,T4, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy
@@ -614,6 +617,7 @@ namespace SqlSugar
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4,T5, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy
@@ -735,6 +739,7 @@ namespace SqlSugar
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5,T6, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy
@@ -865,6 +870,7 @@ namespace SqlSugar
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5,T6,T7, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy
@@ -982,6 +988,7 @@ namespace SqlSugar
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7,T8, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy
@@ -1093,6 +1100,7 @@ namespace SqlSugar
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8,T9, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy
@@ -1206,6 +1214,7 @@ namespace SqlSugar
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8,T9,T10, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy
@@ -1327,6 +1336,7 @@ namespace SqlSugar
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10,T11, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy
@@ -1445,6 +1455,7 @@ namespace SqlSugar
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>> expression, bool isAutoFill);
#endregion
#region OrderBy