diff --git a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs index 3399b96754..1ff966f309 100644 --- a/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs +++ b/modules/identity/test/Volo.Abp.Identity.MongoDB.Tests/Volo/Abp/Identity/MongoDB/AbpIdentityMongoDbTestModule.cs @@ -1,8 +1,8 @@ using System; using Volo.Abp.Data; using Volo.Abp.Modularity; -using Volo.Abp.Uow; using Volo.Abp.PermissionManagement.MongoDB; +using Volo.Abp.Uow; namespace Volo.Abp.Identity.MongoDB { @@ -24,6 +24,11 @@ namespace Volo.Abp.Identity.MongoDB { options.ConnectionStrings.Default = connectionString; }); + + Configure(options => + { + options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled; + }); } } } diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs index 6217651dc7..df4f802597 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Volo.Abp.DependencyInjection; using Volo.Abp.Guids; @@ -32,13 +33,11 @@ namespace Volo.Abp.PermissionManagement { using (CurrentTenant.Change(tenantId)) { - foreach (var permissionName in grantedPermissions) - { - if (await PermissionGrantRepository.FindAsync(permissionName, providerName, providerKey) != null) - { - continue; - } + var names = grantedPermissions.ToArray(); + var existsPermissionGrants = (await PermissionGrantRepository.GetListAsync(names, providerName, providerKey)).Select(x => x.Name).ToList(); + foreach (var permissionName in names.Except(existsPermissionGrants)) + { await PermissionGrantRepository.InsertAsync( new PermissionGrant( GuidGenerator.Create(),