From bba57a1da9a9282dc26add3ea2d5f31ad49c9b91 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Thu, 10 Nov 2022 12:24:42 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BC=98=E5=8C=96=20Sqlite=20=E5=8F=AA?= =?UTF-8?q?=E6=9C=89=E4=B8=80=E4=B8=AA=E5=AD=97=E6=AE=B5=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=9A=84=E6=8F=92=E5=85=A5=EF=BC=9B#1326?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FreeSql.Provider.Sqlite/Curd/SqliteInsert.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Providers/FreeSql.Provider.Sqlite/Curd/SqliteInsert.cs b/Providers/FreeSql.Provider.Sqlite/Curd/SqliteInsert.cs index 4a9dd070..dd555680 100644 --- a/Providers/FreeSql.Provider.Sqlite/Curd/SqliteInsert.cs +++ b/Providers/FreeSql.Provider.Sqlite/Curd/SqliteInsert.cs @@ -58,6 +58,22 @@ namespace FreeSql.Sqlite.Curd return ret; } + public override string ToSql() + { + if (_table.Columns.Count == 1 && _table.ColumnsByPosition[0].Attribute.IsIdentity) + { + var sb = new StringBuilder(); + var didx = 0; + foreach (var d in _source) + { + if (didx++ > 0) sb.Append(";\r\n"); + sb.Append("INSERT INTO ").Append(_commonUtils.QuoteSqlName(TableRuleInvoke())).Append(" DEFAULT VALUES"); + } + return sb.ToString(); + } + return base.ToSql(); + } + #if net40 #else public override Task ExecuteAffrowsAsync(CancellationToken cancellationToken = default) => base.SplitExecuteAffrowsAsync(_batchValuesLimit > 0 ? _batchValuesLimit : 5000, _batchParameterLimit > 0 ? _batchParameterLimit : 999, cancellationToken);