From 0c31cfcbc5b0dfb5f0b0e01948c800ec054e7de7 Mon Sep 17 00:00:00 2001 From: Diego <2248356998@qq.com> Date: Thu, 23 Oct 2025 18:56:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20orm=E5=AE=9E=E4=BD=93=E4=B8=8E=E8=A1=A8?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E4=B8=8D=E4=B8=80=E8=87=B4=E6=97=B6=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=AF=BC=E8=87=B4=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sugar/Abstract/FastestProvider/FastestProvider.cs | 8 ++++++-- .../Sugar/Abstract/FastestProvider/Private.cs | 7 +++++++ src/Directory.Build.props | 6 +++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/Admin/ThingsGateway.SqlSugar/Sugar/Abstract/FastestProvider/FastestProvider.cs b/src/Admin/ThingsGateway.SqlSugar/Sugar/Abstract/FastestProvider/FastestProvider.cs index 59c2b5045..84b7a3815 100644 --- a/src/Admin/ThingsGateway.SqlSugar/Sugar/Abstract/FastestProvider/FastestProvider.cs +++ b/src/Admin/ThingsGateway.SqlSugar/Sugar/Abstract/FastestProvider/FastestProvider.cs @@ -694,8 +694,12 @@ namespace ThingsGateway.SqlSugar var enumerator = table.GetEnumerator(); while (enumerator.MoveNext()) { - var cur = enumerator.Current; - yield return cur.Value.Item2[rowIndex]; + var kvp = enumerator.Current; + var list = kvp.Value.Item2; + if (list != null && rowIndex < list.Count) + yield return list[rowIndex]; + else + yield return new DataInfos { ColumnName = kvp.Key, Value = null }; } } diff --git a/src/Admin/ThingsGateway.SqlSugar/Sugar/Abstract/FastestProvider/Private.cs b/src/Admin/ThingsGateway.SqlSugar/Sugar/Abstract/FastestProvider/Private.cs index ab3597310..73acb4041 100644 --- a/src/Admin/ThingsGateway.SqlSugar/Sugar/Abstract/FastestProvider/Private.cs +++ b/src/Admin/ThingsGateway.SqlSugar/Sugar/Abstract/FastestProvider/Private.cs @@ -201,6 +201,7 @@ namespace ThingsGateway.SqlSugar { foreach (var column in columns) { + if (column.IsIgnore) { continue; @@ -210,6 +211,12 @@ namespace ThingsGateway.SqlSugar { name = column.PropertyName; } + if (!results.TryGetValue(name, out var tuple) || tuple.Item2 == null) + { + // 某些列可能不在 DataTable 中(例如数据库多了列) + continue; + } + var value = ValueConverter(column, GetValue(item, column)); if (column.SqlParameterDbType != null && column.SqlParameterDbType is Type && UtilMethods.HasInterface((Type)column.SqlParameterDbType, typeof(ISugarDataConverter))) { diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 3da7118ec..9e9e8a3c8 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,9 +1,9 @@ - 10.12.7 - 10.12.7 - 10.12.7 + 10.12.8 + 10.12.8 + 10.12.8 10.11.6 10.11.6 8.0.21