From 2ff4c44507243bb6aa308b87040b3e183a50a776 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Fri, 18 Sep 2020 09:52:56 +0800 Subject: [PATCH] Disabled mongodb unit of work transaction by default --- docs/en/Getting-Started.md | 13 +++++++++++++ docs/en/MongoDB.md | 4 ++-- docs/zh-Hans/Getting-Started.md | 13 +++++++++++++ docs/zh-Hans/MongoDB.md | 4 ++-- .../MongoDb/MyProjectNameMongoDbModule.cs | 6 ++++++ .../MongoDB/MyProjectNameMongoDbModule.cs | 6 ++++++ 6 files changed, 42 insertions(+), 4 deletions(-) diff --git a/docs/en/Getting-Started.md b/docs/en/Getting-Started.md index 55fcafe132..cc5cefbd67 100644 --- a/docs/en/Getting-Started.md +++ b/docs/en/Getting-Started.md @@ -149,6 +149,19 @@ Integration tests projects are properly configured to work with in-memory **Mong > See the [application template document](Startup-Templates/Application.md) to understand the solution structure in details. +{{ if DB == "Mongo" }} + +> The [startup template](Startup-templates/Index.md) **disabled** unit of work transaction in the `.MongoDB` project by default. If your MongoDB server supported transaction, you can enable the `transaction` of unit of work manually: + + ```csharp + Configure(options => + { + options.TransactionBehavior = UnitOfWorkTransactionBehavior.Enabled; + }); + ``` + +{{ end }} + ## Create the Database ### Connection String diff --git a/docs/en/MongoDB.md b/docs/en/MongoDB.md index ac6db61198..4138f86f88 100644 --- a/docs/en/MongoDB.md +++ b/docs/en/MongoDB.md @@ -279,12 +279,12 @@ public class BookService Starting from version 4.0, MongoDB supports transactions. ABP added support for MongoDB transactions in version 3.2. If you upgrade the project to version 3.2. You need add [MongoDbSchemaMigrator](https://github.com/abpframework/abp/blob/dev/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDb/MongoDbMyProjectNameDbSchemaMigrator.cs) to your `.MongoDB` project. -If you are using MongoDB server version less then v4.0, you need disabled the `transaction` of unit of work manually: +The [startup template](Startup-templates/Index.md) **disabled** unit of work transaction in the `.MongoDB` project by default. If your MongoDB server supported transaction, you can enable the `transaction` of unit of work manually: ```csharp Configure(options => { - options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled; + options.TransactionBehavior = UnitOfWorkTransactionBehavior.Enabled; }); ``` diff --git a/docs/zh-Hans/Getting-Started.md b/docs/zh-Hans/Getting-Started.md index bf46816d32..c6b3bd70df 100644 --- a/docs/zh-Hans/Getting-Started.md +++ b/docs/zh-Hans/Getting-Started.md @@ -153,6 +153,19 @@ abp new Acme.BookStore{{if UI == "NG"}} -u angular {{end}}{{if DB == "Mongo"}} - > 请参阅[应用程序模板文档](Startup-Templates/Application.md)详细了解解决方案结构. +{{ if DB == "Mongo" }} + +> [启动模板](Startup-templates/Index.md)默认在 `.MongoDB` 项目中**禁用**了工作单元事务. 如果你的MongoDB服务器支持事务,你可以手动启用工作单元的事务: + + ```csharp + Configure(options => + { + options.TransactionBehavior = UnitOfWorkTransactionBehavior.Enabled; + }); + ``` + +{{ end }} + ## 创建数据库 ### 连接字符串 diff --git a/docs/zh-Hans/MongoDB.md b/docs/zh-Hans/MongoDB.md index 12755cdff5..c90b9b5740 100644 --- a/docs/zh-Hans/MongoDB.md +++ b/docs/zh-Hans/MongoDB.md @@ -237,12 +237,12 @@ public class BookService MongoDB在4.0版本开始支持事务, ABP在3.2版本加入了对MongoDb事务的支持. 如果你升级到3.2版本,需要将[MongoDbSchemaMigrator](https://github.com/abpframework/abp/blob/dev/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDb/MongoDbMyProjectNameDbSchemaMigrator.cs)添加到你的 `.MongoDB` 项目中. -如果你在使用4.0版本之前的MongdoDB数据库,你需要手动禁用工作单元的事务: +[启动模板](Startup-templates/Index.md)默认在 `.MongoDB` 项目中**禁用**了工作单元事务. 如果你的MongoDB服务器支持事务,你可以手动启用工作单元的事务: ```csharp Configure(options => { - options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled; + options.TransactionBehavior = UnitOfWorkTransactionBehavior.Enabled; }); ``` diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDb/MyProjectNameMongoDbModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDb/MyProjectNameMongoDbModule.cs index 5d3bfabab5..cff61b4ed0 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDb/MyProjectNameMongoDbModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDb/MyProjectNameMongoDbModule.cs @@ -8,6 +8,7 @@ using Volo.Abp.Modularity; using Volo.Abp.PermissionManagement.MongoDB; using Volo.Abp.SettingManagement.MongoDB; using Volo.Abp.TenantManagement.MongoDB; +using Volo.Abp.Uow; namespace MyCompanyName.MyProjectName.MongoDB { @@ -30,6 +31,11 @@ namespace MyCompanyName.MyProjectName.MongoDB { options.AddDefaultRepositories(); }); + + Configure(options => + { + options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled; + }); } } } diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDB/MyProjectNameMongoDbModule.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDB/MyProjectNameMongoDbModule.cs index 453806b057..71a6a8df1a 100644 --- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDB/MyProjectNameMongoDbModule.cs +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.MongoDB/MongoDB/MyProjectNameMongoDbModule.cs @@ -1,6 +1,7 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Modularity; using Volo.Abp.MongoDB; +using Volo.Abp.Uow; namespace MyCompanyName.MyProjectName.MongoDB { @@ -18,6 +19,11 @@ namespace MyCompanyName.MyProjectName.MongoDB * options.AddRepository(); */ }); + + Configure(options => + { + options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled; + }); } } }