using BMA.EHR.Application.Common.Interfaces; using BMA.EHR.Infrastructure.Persistence; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace BMA.EHR.Infrastructure { public static class InfrastructureServiceRegistration { public static IServiceCollection AddPersistence(this IServiceCollection services, IConfiguration configuration) { var connectionString = configuration.GetConnectionString("DefaultConnection"); services.AddDbContext(options => options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString), b => { b.MigrationsAssembly(typeof(ApplicationDBContext).Assembly.FullName); b.MigrationsHistoryTable("__EHRMigrationsHistory"); }), ServiceLifetime.Transient); services.AddScoped(provider => provider.GetService()); return services; } } }