Fixed multiple db contexts

This commit is contained in:
2024-11-30 00:26:05 +01:00
parent 0ab8d7f7d1
commit b26c553d12
2 changed files with 21 additions and 23 deletions

View File

@@ -39,6 +39,7 @@ internal static class Program
AppSettings appSettings = ProgramUtils.AddConfiguration(ref builder);
ProgramUtils.AddServices(ref builder);
ProgramUtils.AddScopes(ref builder);
ProgramUtils.AddOpenApi(ref builder, appSettings);
ProgramUtils.AddDbContext(ref builder, appSettings);
WebApplication app = builder.Build();

View File

@@ -130,42 +130,39 @@ public static class ProgramUtils
public static void AddDbContext(ref WebApplicationBuilder builder, AppSettings appSettings)
{
Logger.Info("[ProgramUtils][AddDbContext] Adding DbContext");
var databaseAdded = "";
var connectionString = appSettings?.DatabaseSettings?.SqlServerConnectionString ?? String.Empty;
if (!String.IsNullOrEmpty(connectionString))
var messages = String.Empty;
if (!String.IsNullOrEmpty(appSettings.DatabaseSettings?.SqlServerConnectionString))
{
var connectionString = appSettings.DatabaseSettings?.SqlServerConnectionString ?? String.Empty;
connectionString = connectionString.Replace("SQLSERVER_DB_SERVER", Environment.GetEnvironmentVariable("SQLSERVER_DB_SERVER"));
builder.Services.AddDbContext<SqlServerContext>(options =>
options.UseSqlServer(connectionString));
databaseAdded += "SqlServer";
options.UseSqlServer(connectionString)
);
messages = "SqlServerContext";
}
connectionString = appSettings?.DatabaseSettings?.MongoDbConnectionString ?? String.Empty;
if (!String.IsNullOrEmpty(connectionString))
if (!String.IsNullOrEmpty(appSettings.DatabaseSettings?.MongoDbConnectionString))
{
var connectionString = appSettings.DatabaseSettings?.MongoDbConnectionString ?? String.Empty;
connectionString = connectionString.Replace("MONGO_DB_SERVER", Environment.GetEnvironmentVariable("MONGODB_DB_SERVER"));
var mongoClient = new MongoClient(connectionString);
var databaseName = connectionString.Split("/").LastOrDefault();
if (!String.IsNullOrEmpty(databaseName))
{
var dbContextOptions = new DbContextOptionsBuilder<MongoDbContext>()
.UseMongoDB(mongoClient, databaseName);
var client = new MongoClient(connectionString);
builder.Services.AddDbContext<MongoDbContext>(options =>
options.UseMongoDB(client, databaseName)
);
messages = messages + (String.IsNullOrEmpty(messages) ? "" : ", ") + "MongoDbContext";
}
databaseAdded += (String.IsNullOrEmpty(databaseAdded) ? "" : ", ") + "MongoDB";
}
messages = String.IsNullOrEmpty(messages) ? "No context" : messages;
Logger.Info($"[ProgramUtils][AddDbContext] {messages} added");
}
var message = String.IsNullOrEmpty(databaseAdded) ? "No DbContext added" : $"{databaseAdded} added";
Logger.Info($"[ProgramUtils][AddDbContext] {message}");
public static void AddScopes(ref WebApplicationBuilder builder)
{
Logger.Info("[ProgramUtils][AddScopes] Adding scopes");
Logger.Info("[ProgramUtils][AddScopes] Done scopes");
}
}