using Microsoft.AspNetCore.Http; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; namespace Cap.Consistency.EntityFrameworkCore.Test { public static class DbUtil { public static IServiceCollection ConfigureDbServices(string connectionString, IServiceCollection services = null) { return ConfigureDbServices(connectionString, services); } public static IServiceCollection ConfigureDbServices(string connectionString, IServiceCollection services = null) where TContext : DbContext { if (services == null) { services = new ServiceCollection(); } services.AddSingleton(); services.AddDbContext(options => options.UseSqlServer(connectionString)); return services; } public static TContext Create(string connectionString) where TContext : DbContext { var serviceProvider = ConfigureDbServices(connectionString).BuildServiceProvider(); return serviceProvider.GetRequiredService(); } } }