From 4d9d567f607b3c3129a3116344d3f46d3ccfbaaf Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 17 Jul 2025 17:35:22 +0800 Subject: [PATCH] Update Gbase8s --- .../SqlSugar.GBaseCore/GBase/GBaseProvider.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Src/Asp.NetCore2/SqlSugar.GBaseCore/GBase/GBaseProvider.cs b/Src/Asp.NetCore2/SqlSugar.GBaseCore/GBase/GBaseProvider.cs index 4ed1814ca..19eabd8af 100644 --- a/Src/Asp.NetCore2/SqlSugar.GBaseCore/GBase/GBaseProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar.GBaseCore/GBase/GBaseProvider.cs @@ -282,6 +282,23 @@ namespace SqlSugar.GBase sqlCommand.CommandText = sql; sqlCommand.CommandType = this.CommandType; sqlCommand.CommandTimeout = this.CommandTimeOut; + if (sqlCommand?.Parameters?.Count > 0) + { + if (this.CommandType == CommandType.StoredProcedure && parameters != null && sqlCommand.Parameters.Count == parameters.Length) + { + // 保证存储过程参数顺序与 SugarParameter 一致 + for (int i = 0; i < parameters.Length; i++) + { + var sugarParam = parameters[i]; + var dbParam = sqlCommand.Parameters.Cast().FirstOrDefault(p => p.ParameterName == sugarParam.ParameterName); + if (dbParam != null && sqlCommand.Parameters.IndexOf(dbParam) != i) + { + sqlCommand.Parameters.Remove(dbParam); + sqlCommand.Parameters.Insert(i, dbParam); + } + } + } + } if (this.Transaction != null) { sqlCommand.Transaction = (GbsTransaction)this.Transaction;