From 52bc16d7c9e6b935e0e5e5bdd35fef24755f0aae Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Tue, 31 Oct 2023 11:40:15 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E5=A2=9E=E5=8A=A0=20InsertDict=20ExecuteId?= =?UTF-8?q?entity=20=E9=87=8D=E8=BD=BD=E6=8C=87=E5=AE=9A=E8=87=AA=E5=A2=9E?= =?UTF-8?q?=E5=88=97=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql/Extensions/FreeSqlGlobalExtensions.cs | 9 ++++++++- Providers/FreeSql.Provider.Xugu/XuguExpression.cs | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/FreeSql/Extensions/FreeSqlGlobalExtensions.cs b/FreeSql/Extensions/FreeSqlGlobalExtensions.cs index 1890dccc..7384702e 100644 --- a/FreeSql/Extensions/FreeSqlGlobalExtensions.cs +++ b/FreeSql/Extensions/FreeSqlGlobalExtensions.cs @@ -15,6 +15,7 @@ using System.Drawing; using System.Linq; using System.Linq.Expressions; using System.Reflection; +using System.Security.Principal; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -1069,7 +1070,13 @@ SELECT "); } public int ExecuteAffrows() => _insertProvider.ExecuteAffrows(); - public long ExecuteIdentity() => _insertProvider.ExecuteIdentity(); + public long ExecuteIdentity(string identityColumn = null) + { + if (_insertProvider._table.ColumnsByCs.TryGetValue(identityColumn, out var col) == false) + throw new Exception(CoreStrings.GetPrimarys_ParameterError_IsNotDictKey(identityColumn).Replace(nameof(ExecuteIdentity), "")); + col.Attribute.IsIdentity = true; + return _insertProvider.ExecuteIdentity(); + } public List> ExecuteInserted() => _insertProvider.ExecuteInserted(); #if net40 diff --git a/Providers/FreeSql.Provider.Xugu/XuguExpression.cs b/Providers/FreeSql.Provider.Xugu/XuguExpression.cs index 48648b3e..2c927b6b 100644 --- a/Providers/FreeSql.Provider.Xugu/XuguExpression.cs +++ b/Providers/FreeSql.Provider.Xugu/XuguExpression.cs @@ -251,7 +251,7 @@ namespace FreeSql.Xugu { case "Now": return _common.Now; case "UtcNow": return _common.NowUtc; - case "Today": return "convert(char(10),getdate(),120)"; + case "Today": return $"cast(date_format({_common.Now},'%Y-%m-%d') as datetime)"; case "MinValue": return "'1753/1/1 0:00:00'"; case "MaxValue": return "'9999/12/31 23:59:59'"; }