Files
YABA/API/YABA.Data/Configuration/DependencyInjectionConfiguration.cs
Carl Tibule a5d5ed048f Created Woodpecker CI/CD deployment
- Created Dockerfile for packing up API and Web projects as Docker image
2024-04-07 14:51:28 -05:00

42 lines
2.0 KiB
C#

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using YABA.Data.Context;
namespace YABA.Data.Configuration
{
public static class DependencyInjectionConfiguration
{
public static void AddDataProjectDependencyInjectionConfiguration(this IServiceCollection services, IConfiguration configuration)
{
services.AddScoped(x =>
{
var optionsBuilder = new DbContextOptionsBuilder<YABABaseContext>();
optionsBuilder.UseNpgsql(configuration.GetConnectionString("YABAReadOnlyDbConnectionString")).UseSnakeCaseNamingConvention();
return new YABAReadOnlyContext(optionsBuilder.Options);
});
services.AddScoped(x => {
var optionsBuilder = new DbContextOptionsBuilder<YABABaseContext>();
optionsBuilder.UseNpgsql(configuration.GetConnectionString("YABAReadWriteDbConnectionString")).UseSnakeCaseNamingConvention();
return new YABAReadWriteContext(optionsBuilder.Options);
});
services.AddDbContext<YABABaseContext>(options => options
.UseNpgsql(configuration.GetConnectionString("YABAReadWriteDbConnectionString"))
.UseSnakeCaseNamingConvention()
.UseQueryTrackingBehavior(QueryTrackingBehavior.TrackAll));
services.AddDbContext<YABAReadWriteContext>(options => options
.UseNpgsql(configuration.GetConnectionString("YABAReadWriteDbConnectionString"))
.UseSnakeCaseNamingConvention()
.UseQueryTrackingBehavior(QueryTrackingBehavior.TrackAll));
services.AddDbContext<YABAReadOnlyContext>(options => options
.UseNpgsql(configuration.GetConnectionString("YABAReadOnlyDbConnectionString"))
.UseSnakeCaseNamingConvention()
.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking));
}
}
}