From 0289353294dae049be9cd45e18dce6e219ea1166 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 15 Jun 2023 21:01:05 +0800 Subject: [PATCH] Synchronization code --- .../Abstract/QueryableProvider/QueryMethodInfo.cs | 14 ++++++++++++++ .../SqlSugar/Json2Sql/ModelToSql/SqlPart.cs | 4 ++-- .../Json2Sql/Queryable/QueryableProvider.cs | 1 + .../SqlBuilder/PostgreSQLUpdateBuilder.cs | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs index fb75511ff..97980a307 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/QueryableProvider/QueryMethodInfo.cs @@ -50,6 +50,20 @@ namespace SqlSugar this.QueryableObj = method.Invoke(QueryableObj, new object[] { tableName,shortName,onWhere,type }); return this; } + public QueryMethodInfo AddJoinInfo(string tableName, string shortName, IFuncModel onFunc, JoinType type = JoinType.Left) + { + var method = QueryableObj.GetType().GetMyMethod("AddJoinInfo", 4, typeof(string), typeof(string), typeof(IFuncModel), typeof(JoinType)); + this.QueryableObj = method.Invoke(QueryableObj, new object[] { tableName, shortName, onFunc, type }); + return this; + } + public QueryMethodInfo AddJoinInfo(List joinInfoParameters) + { + foreach (var item in joinInfoParameters) + { + AddJoinInfo(item.TableName,item.ShortName,item.Models,item.Type); + } + return this; + } public QueryMethodInfo AddJoinInfo(Type joinEntityType, string shortName, string onWhere, JoinType type = JoinType.Left) { var method = QueryableObj.GetType().GetMyMethod("AddJoinInfo", 4, typeof(string), typeof(string), typeof(string), typeof(JoinType)); diff --git a/Src/Asp.NetCore2/SqlSugar/Json2Sql/ModelToSql/SqlPart.cs b/Src/Asp.NetCore2/SqlSugar/Json2Sql/ModelToSql/SqlPart.cs index d5cac9bc9..08a929d64 100644 --- a/Src/Asp.NetCore2/SqlSugar/Json2Sql/ModelToSql/SqlPart.cs +++ b/Src/Asp.NetCore2/SqlSugar/Json2Sql/ModelToSql/SqlPart.cs @@ -114,9 +114,9 @@ namespace SqlSugar return parname; } - private static string GetParameterName(List pars, object parvalue) + private string GetParameterName(List pars, object parvalue) { - var parname = "@p" + pars.Count(); + var parname = "@p" + pars.Count()+"_"+this.QueryBuilder.WhereIndex; SugarParameter parameter = new SugarParameter(parname, parvalue); pars.Add(parameter); return parname; diff --git a/Src/Asp.NetCore2/SqlSugar/Json2Sql/Queryable/QueryableProvider.cs b/Src/Asp.NetCore2/SqlSugar/Json2Sql/Queryable/QueryableProvider.cs index 14bdf92e2..3a3e67630 100644 --- a/Src/Asp.NetCore2/SqlSugar/Json2Sql/Queryable/QueryableProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Json2Sql/Queryable/QueryableProvider.cs @@ -85,6 +85,7 @@ namespace SqlSugar } public ISugarQueryable Having(IFuncModel model) { + this.QueryBuilder.WhereIndex++; var orderObj = this.SqlBuilder.FuncModelToSql(model); this.Having(orderObj.Key); this.QueryBuilder.Parameters.AddRange(orderObj.Value); diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs b/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs index a00adb65d..bcf0013ee 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/SqlBuilder/PostgreSQLUpdateBuilder.cs @@ -172,7 +172,7 @@ namespace SqlSugar dbType = "varchar"; } } - return string.Format("CAST({0} AS {1})", base.GetDbColumn(it,FormatValue(it.Value,it.DbColumnName,i,it)), dbType); + return string.Format("CAST({0} AS {1})", base.GetDbColumn(it,FormatValue(it.Value,it.DbColumnName,i+(pageIndex-1)*100000,it)), dbType); })) + ")"); ++i;