using System; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.Autofac; using Volo.Abp.EntityFrameworkCore; using Volo.Abp.Identity.EntityFrameworkCore; using Volo.Abp.Modularity; using Volo.Abp.Uow; namespace Volo.Abp.Identity { [DependsOn(typeof(AbpIdentityApplicationModule), typeof(AbpIdentityEntityFrameworkCoreModule), typeof(AbpAutofacModule))] public class AbpIdentityApplicationTestModule : AbpModule { public override void ConfigureServices(IServiceCollection services) { services.AddAssemblyOf(); services.AddEntityFrameworkInMemoryDatabase(); var databaseName = Guid.NewGuid().ToString(); services.Configure(options => { options.Configure(context => { context.DbContextOptions.UseInMemoryDatabase(databaseName); }); }); services.Configure(options => { options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled; //EF in-memory database does not support transactions }); } public override void OnApplicationInitialization(ApplicationInitializationContext context) { SeedTestData(context); } private static void SeedTestData(ApplicationInitializationContext context) { using (var scope = context.ServiceProvider.CreateScope()) { scope.ServiceProvider .GetRequiredService() .Build(); } } } }