From 3e038028c2564913229bd45984db8825742dbac1 Mon Sep 17 00:00:00 2001 From: "2248356998 qq.com" <2248356998@qq.com> Date: Thu, 9 Oct 2025 19:19:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96orm=20=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=8F=92=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sqlite/SqlBuilder/SqliteFastBuilder.cs | 22 +++++++++++++++++++ .../Sqlite/SqlBuilder/SqliteInsertBuilder.cs | 2 +- src/Directory.Build.props | 6 ++--- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/Admin/ThingsGateway.SqlSugar/Sugar/Realization/Sqlite/SqlBuilder/SqliteFastBuilder.cs b/src/Admin/ThingsGateway.SqlSugar/Sugar/Realization/Sqlite/SqlBuilder/SqliteFastBuilder.cs index 11937e931..938a4ede1 100644 --- a/src/Admin/ThingsGateway.SqlSugar/Sugar/Realization/Sqlite/SqlBuilder/SqliteFastBuilder.cs +++ b/src/Admin/ThingsGateway.SqlSugar/Sugar/Realization/Sqlite/SqlBuilder/SqliteFastBuilder.cs @@ -171,11 +171,21 @@ namespace ThingsGateway.SqlSugar else { var count = list.FirstOrDefault().Value.Item2?.Count; + if(count==1) + { + var row = list.GetRows(0).ToDictionary(a => a.ColumnName, a => a.Value); + cmd.CommandText = this.Context.InsertableT(row).AS(tableName).ToSqlString().Replace(";SELECT LAST_INSERT_ROWID();", ""); + TransformInsertCommand(cmd); + i += await cmd.ExecuteNonQueryAsync().ConfigureAwait(false); + return i; + } + if (count > 0) { var row = list.GetRows(0).ToDictionary(a => a.ColumnName, a => a.Value); cmd.CommandText = this.Context.InsertableT(row).AS(tableName).ToSql().Key.Replace(";SELECT LAST_INSERT_ROWID();", ""); } + TransformInsertCommand(cmd); if (count > 0) { @@ -292,6 +302,18 @@ namespace ThingsGateway.SqlSugar else { var count = list.FirstOrDefault().Value.Item2?.Count; + + if (count == 1) + { + var row = list.GetRows(0).ToDictionary(a => a.ColumnName, a => a.Value); + cmd.CommandText = this.Context.UpdateableT(row) + .WhereColumns(whereColumns) + .UpdateColumns(updateColumns) + .AS(tableName).ToSqlString(); + i += await cmd.ExecuteNonQueryAsync().ConfigureAwait(false); + return i; + } + if (count > 0) { var row = list.GetRows(0).ToDictionary(a => a.ColumnName, a => a.Value); diff --git a/src/Admin/ThingsGateway.SqlSugar/Sugar/Realization/Sqlite/SqlBuilder/SqliteInsertBuilder.cs b/src/Admin/ThingsGateway.SqlSugar/Sugar/Realization/Sqlite/SqlBuilder/SqliteInsertBuilder.cs index b2222ae1e..d50b01a34 100644 --- a/src/Admin/ThingsGateway.SqlSugar/Sugar/Realization/Sqlite/SqlBuilder/SqliteInsertBuilder.cs +++ b/src/Admin/ThingsGateway.SqlSugar/Sugar/Realization/Sqlite/SqlBuilder/SqliteInsertBuilder.cs @@ -31,7 +31,7 @@ namespace ThingsGateway.SqlSugar { // 单条插入 var columnValues = string.Join(",", DbColumnInfoList.Select(it => - base.GetDbColumn(it, Builder.SqlParameterKeyWord + it.DbColumnName))); + base.GetDbColumn(it, $"{Builder.SqlParameterKeyWord}{it.DbColumnName}"))); ActionMinDate(); return string.Format(SqlTemplate, GetTableNameString, columnNames, columnValues); diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 31760e699..d58829943 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,9 +1,9 @@ - 10.11.85 - 10.11.85 - 10.11.85 + 10.11.86 + 10.11.86 + 10.11.86 10.11.6 10.11.6 8.0.20