Refactor ApplicationDbContext to use a configuration-driven approach for mapping view and column names, enabling dynamic mapping through appsettings.json. Add TableConfigurations classes, update DI registration, and include the necessary options package for configuration binding. This improves maintainability and flexibility for schema changes.
17 lines
615 B
C#
17 lines
615 B
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace DbFirst.Infrastructure;
|
|
|
|
public static class DependencyInjection
|
|
{
|
|
public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration)
|
|
{
|
|
services.Configure<TableConfigurations>(configuration.GetSection("TableConfigurations"));
|
|
services.AddDbContext<ApplicationDbContext>(options =>
|
|
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection")));
|
|
return services;
|
|
}
|
|
}
|