From e5f4f40d25d2a64014bfe05b75e3d1fcc832ab96 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 7 Sep 2022 13:09:25 +0800 Subject: [PATCH] Update DataSeeder.cs --- .../Volo.Abp.Data/Volo/Abp/Data/DataSeeder.cs | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/framework/src/Volo.Abp.Data/Volo/Abp/Data/DataSeeder.cs b/framework/src/Volo.Abp.Data/Volo/Abp/Data/DataSeeder.cs index 8b01bcde77..2c3a467ce6 100644 --- a/framework/src/Volo.Abp.Data/Volo/Abp/Data/DataSeeder.cs +++ b/framework/src/Volo.Abp.Data/Volo/Abp/Data/DataSeeder.cs @@ -25,20 +25,25 @@ public class DataSeeder : IDataSeeder, ITransientDependency { using (var scope = ServiceScopeFactory.CreateScope()) { - var manager = scope.ServiceProvider.GetRequiredService(); - foreach (var contributorType in Options.Contributors) + if (context.Properties.ContainsKey(nameof(DataSeederExtensions.SeedInSeparateUowAsync))) { - using (var uow = manager.Begin( - requiresNew: context.Properties.ContainsKey(nameof(DataSeederExtensions.SeedInSeparateUowAsync)), - isTransactional: true)) + var manager = scope.ServiceProvider.GetRequiredService(); + foreach (var contributorType in Options.Contributors) { - var contributor = (IDataSeedContributor)scope - .ServiceProvider - .GetRequiredService(contributorType); - + using (var uow = manager.Begin(requiresNew: true, isTransactional: true)) + { + var contributor = (IDataSeedContributor)scope.ServiceProvider.GetRequiredService(contributorType); + await contributor.SeedAsync(context); + await uow.CompleteAsync(); + } + } + } + else + { + foreach (var contributorType in Options.Contributors) + { + var contributor = (IDataSeedContributor)scope.ServiceProvider.GetRequiredService(contributorType); await contributor.SeedAsync(context); - - await uow.CompleteAsync(); } } }