From 820072550f6daefecb5a595c39b7425845b9f1fd Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 26 Jan 2023 14:18:20 +0800 Subject: [PATCH 1/2] Set `AutoTransactionBehavior ` to `Never` when always disabling transactions. Resolve #15389 --- .../Volo/Abp/EntityFrameworkCore/AbpDbContext.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs index 411c0a4519..62e85a0fd1 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs @@ -227,6 +227,11 @@ public abstract class AbpDbContext : DbContext, IAbpEfCoreDbContext, ChangeTracker.Tracked += ChangeTracker_Tracked; ChangeTracker.StateChanged += ChangeTracker_StateChanged; + + if (UnitOfWorkManager is AlwaysDisableTransactionsUnitOfWorkManager) + { + Database.AutoTransactionBehavior = AutoTransactionBehavior.Never; + } } protected virtual void ChangeTracker_Tracked(object sender, EntityTrackedEventArgs e) From eac56ac85587c14130082eb69a67dee205f59762 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 26 Jan 2023 14:28:41 +0800 Subject: [PATCH 2/2] `AlwaysDisableUnitOfWorkTransaction` in template projects. --- .../MyProjectNameEntityFrameworkCoreTestModule.cs | 2 ++ .../MyProjectNameEntityFrameworkCoreTestModule.cs | 3 +++ 2 files changed, 5 insertions(+) diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreTestModule.cs b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreTestModule.cs index d68373b4fb..846df976e0 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreTestModule.cs +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreTestModule.cs @@ -7,6 +7,7 @@ using Volo.Abp; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore.Sqlite; using Volo.Abp.Modularity; +using Volo.Abp.Uow; namespace MyCompanyName.MyProjectName.EntityFrameworkCore; @@ -21,6 +22,7 @@ public class MyProjectNameEntityFrameworkCoreTestModule : AbpModule public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddAlwaysDisableUnitOfWorkTransaction(); ConfigureInMemorySqlite(context.Services); } diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreTestModule.cs b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreTestModule.cs index 8039bd0acf..635310bb2f 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreTestModule.cs +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreTestModule.cs @@ -5,6 +5,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore.Sqlite; using Volo.Abp.Modularity; +using Volo.Abp.Uow; namespace MyCompanyName.MyProjectName.EntityFrameworkCore; @@ -17,6 +18,8 @@ public class MyProjectNameEntityFrameworkCoreTestModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddAlwaysDisableUnitOfWorkTransaction(); + var sqliteConnection = CreateDatabaseAndGetConnection(); Configure(options =>