diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Microsoft/Extensions/DependencyInjection/AbpEfCoreServiceCollectionExtensions.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Microsoft/Extensions/DependencyInjection/AbpEfCoreServiceCollectionExtensions.cs index 07e86cb0e3..956b2937aa 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Microsoft/Extensions/DependencyInjection/AbpEfCoreServiceCollectionExtensions.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Microsoft/Extensions/DependencyInjection/AbpEfCoreServiceCollectionExtensions.cs @@ -17,9 +17,6 @@ namespace Microsoft.Extensions.DependencyInjection services.AddMemoryCache(); var options = new AbpDbContextRegistrationOptions(typeof(TDbContext), services); - optionsBuilder?.Invoke(options); - - services.TryAddTransient(DbContextOptionsFactory.Create); var replaceDbContextAttribute = typeof(TDbContext).GetCustomAttribute(true); if (replaceDbContextAttribute != null) @@ -27,6 +24,10 @@ namespace Microsoft.Extensions.DependencyInjection options.ReplacedDbContextTypes.AddRange(replaceDbContextAttribute.ReplacedDbContextTypes); } + optionsBuilder?.Invoke(options); + + services.TryAddTransient(DbContextOptionsFactory.Create); + foreach (var dbContextType in options.ReplacedDbContextTypes) { services.Replace( diff --git a/framework/src/Volo.Abp.MongoDB/Microsoft/Extensions/DependencyInjection/AbpMongoDbServiceCollectionExtensions.cs b/framework/src/Volo.Abp.MongoDB/Microsoft/Extensions/DependencyInjection/AbpMongoDbServiceCollectionExtensions.cs index 48e3115306..13131718c0 100644 --- a/framework/src/Volo.Abp.MongoDB/Microsoft/Extensions/DependencyInjection/AbpMongoDbServiceCollectionExtensions.cs +++ b/framework/src/Volo.Abp.MongoDB/Microsoft/Extensions/DependencyInjection/AbpMongoDbServiceCollectionExtensions.cs @@ -13,7 +13,6 @@ namespace Microsoft.Extensions.DependencyInjection where TMongoDbContext : AbpMongoDbContext { var options = new AbpMongoDbContextRegistrationOptions(typeof(TMongoDbContext), services); - optionsBuilder?.Invoke(options); var replaceDbContextAttribute = typeof(TMongoDbContext).GetCustomAttribute(true); if (replaceDbContextAttribute != null) @@ -21,6 +20,8 @@ namespace Microsoft.Extensions.DependencyInjection options.ReplacedDbContextTypes.AddRange(replaceDbContextAttribute.ReplacedDbContextTypes); } + optionsBuilder?.Invoke(options); + foreach (var dbContextType in options.ReplacedDbContextTypes) { services.Replace(ServiceDescriptor.Transient(dbContextType, typeof(TMongoDbContext)));