From 3067d616f5cc3d1ab7cc70a3f5733eff765a717b Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 29 Dec 2023 11:11:57 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=20=E4=BA=BA=E5=A4=A7=E9=87=91?= =?UTF-8?q?=E4=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Kdbndp/Insertable/KdbndpInserttable.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/Insertable/KdbndpInserttable.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/Insertable/KdbndpInserttable.cs index d9f1eb706..487466b35 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/Insertable/KdbndpInserttable.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/Insertable/KdbndpInserttable.cs @@ -13,17 +13,21 @@ namespace SqlSugar { InsertBuilder.IsReturnIdentity = true; PreToSql(); - string sql = InsertBuilder.ToSqlString().Replace("$PrimaryKey", this.SqlBuilder.GetTranslationColumnName(GetIdentityKeys().FirstOrDefault()??"")); + string sql = InsertBuilder.ToSqlString().Replace("$PrimaryKey", this.SqlBuilder.GetTranslationColumnName(GetIdentityKeys().FirstOrDefault() ?? "")); RestoreMapping(); + sql = GetSql(sql); var result = Ado.GetScalar(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray()).ObjToInt(); return result; } + + public override async Task ExecuteReturnIdentityAsync() { InsertBuilder.IsReturnIdentity = true; PreToSql(); string sql = InsertBuilder.ToSqlString().Replace("$PrimaryKey", this.SqlBuilder.GetTranslationColumnName(GetIdentityKeys().FirstOrDefault()??"")); RestoreMapping(); + sql = GetSql(sql); var obj = await Ado.GetScalarAsync(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray()); var result = obj.ObjToInt(); return result; @@ -40,6 +44,7 @@ namespace SqlSugar PreToSql(); string sql = InsertBuilder.ToSqlString().Replace("$PrimaryKey", this.SqlBuilder.GetTranslationColumnName(GetIdentityKeys().FirstOrDefault()??"")); RestoreMapping(); + sql = GetSql(sql); var result = Convert.ToInt64(Ado.GetScalar(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray()) ?? "0"); return result; } @@ -49,6 +54,7 @@ namespace SqlSugar PreToSql(); string sql = InsertBuilder.ToSqlString().Replace("$PrimaryKey", this.SqlBuilder.GetTranslationColumnName(GetIdentityKeys().FirstOrDefault() ?? "")); RestoreMapping(); + sql = GetSql(sql); var result = Convert.ToInt64(await Ado.GetScalarAsync(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray()) ?? "0"); return result; } @@ -70,5 +76,15 @@ namespace SqlSugar typeof(T).GetProperties().First(t => t.Name.ToUpper() == propertyName.ToUpper()).SetValue(result, setValue, null); return idValue > 0; } + + private string GetSql(string sql) + { + if (GetIdentityKeys().FirstOrDefault() == null) + { + sql = sql.Replace("returning \"\"", ""); + } + + return sql; + } } }