Skip to content

Commit 619c57c

Browse files
2881028810
28810
authored and
28810
committed
- 修复 Insert/Update 大批量操作分批执行时,如果外部使用了 Ado.Transaction,没有使用线程事务对象,而是创建了新事务的 bug;
1 parent b04a4e7 commit 619c57c

File tree

12 files changed

+40
-10
lines changed

12 files changed

+40
-10
lines changed

Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Authors>YeXiangQin</Authors>
88
<Description>FreeSql 扩展包,可实现【延时加载】属性.</Description>

FreeSql.DbContext/FreeSql.DbContext.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Authors>YeXiangQin</Authors>
88
<Description>FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.</Description>

FreeSql.Repository/FreeSql.Repository.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<Authors>YeXiangQin</Authors>
77
<Description>FreeSql Implementation of General Repository, Support MySql/SqlServer/PostgreSQL/Oracle/Sqlite, and read/write separation、and split table.</Description>
88
<PackageProjectUrl>https://github.com/2881099/FreeSql/wiki/Repository</PackageProjectUrl>

FreeSql/FreeSql.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Authors>YeXiangQin</Authors>
88
<Description>FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.</Description>

FreeSql/Internal/CommonProvider/InsertProvider.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ protected int SplitExecuteAffrows(int valuesLimit, int parameterLimit)
132132
ClearData();
133133
return ret;
134134
}
135+
if (_transaction == null)
136+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
137+
135138
if (_transaction != null)
136139
{
137140
for (var a = 0; a < ss.Length; a++)
@@ -180,6 +183,9 @@ async protected Task<int> SplitExecuteAffrowsAsync(int valuesLimit, int paramete
180183
ClearData();
181184
return ret;
182185
}
186+
if (_transaction == null)
187+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
188+
183189
if (_transaction != null)
184190
{
185191
for (var a = 0; a < ss.Length; a++)
@@ -228,6 +234,9 @@ protected long SplitExecuteIdentity(int valuesLimit, int parameterLimit)
228234
ClearData();
229235
return ret;
230236
}
237+
if (_transaction == null)
238+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
239+
231240
if (_transaction != null)
232241
{
233242
for (var a = 0; a < ss.Length; a++)
@@ -278,6 +287,9 @@ async protected Task<long> SplitExecuteIdentityAsync(int valuesLimit, int parame
278287
ClearData();
279288
return ret;
280289
}
290+
if (_transaction == null)
291+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
292+
281293
if (_transaction != null)
282294
{
283295
for (var a = 0; a < ss.Length; a++)
@@ -328,6 +340,9 @@ protected List<T1> SplitExecuteInserted(int valuesLimit, int parameterLimit)
328340
ClearData();
329341
return ret;
330342
}
343+
if (_transaction == null)
344+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
345+
331346
if (_transaction != null)
332347
{
333348
for (var a = 0; a < ss.Length; a++)
@@ -376,6 +391,9 @@ async protected Task<List<T1>> SplitExecuteInsertedAsync(int valuesLimit, int pa
376391
ClearData();
377392
return ret;
378393
}
394+
if (_transaction == null)
395+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
396+
379397
if (_transaction != null)
380398
{
381399
for (var a = 0; a < ss.Length; a++)

FreeSql/Internal/CommonProvider/UpdateProvider.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ protected int SplitExecuteAffrows(int valuesLimit, int parameterLimit)
132132
ClearData();
133133
return ret;
134134
}
135+
if (_transaction == null)
136+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
137+
135138
if (_transaction != null)
136139
{
137140
for (var a = 0; a < ss.Length; a++)
@@ -175,6 +178,9 @@ async protected Task<int> SplitExecuteAffrowsAsync(int valuesLimit, int paramete
175178
ClearData();
176179
return ret;
177180
}
181+
if (_transaction == null)
182+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
183+
178184
if (_transaction != null)
179185
{
180186
for (var a = 0; a < ss.Length; a++)
@@ -218,6 +224,9 @@ protected List<T1> SplitExecuteUpdated(int valuesLimit, int parameterLimit)
218224
ClearData();
219225
return ret;
220226
}
227+
if (_transaction == null)
228+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
229+
221230
if (_transaction != null)
222231
{
223232
for (var a = 0; a < ss.Length; a++)
@@ -261,6 +270,9 @@ async protected Task<List<T1>> SplitExecuteUpdatedAsync(int valuesLimit, int par
261270
ClearData();
262271
return ret;
263272
}
273+
if (_transaction == null)
274+
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
275+
264276
if (_transaction != null)
265277
{
266278
for (var a = 0; a < ss.Length; a++)

Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Authors>YeXiangQin</Authors>
88
<Description>FreeSql 数据库实现,基于 MySql 5.6</Description>

Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Authors>YeXiangQin</Authors>
88
<Description>FreeSql 数据库实现,基于 MySql 5.6</Description>

Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Authors>YeXiangQin</Authors>
88
<Description>FreeSql 数据库实现,基于 Oracle 11</Description>

Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Authors>YeXiangQin</Authors>
88
<Description>FreeSql 数据库实现,基于 PostgreSQL 9.5</Description>

Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net451</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Authors>YeXiangQin</Authors>
88
<Description>FreeSql 数据库实现,基于 SqlServer 2005+,并根据版本适配分页方法:row_number 或 offset fetch next</Description>

Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
5-
<Version>0.7.4</Version>
5+
<Version>0.7.5</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Authors>YeXiangQin</Authors>
88
<Description>FreeSql 数据库实现,基于 Sqlite 3.0</Description>

0 commit comments

Comments
 (0)