Files
DiunaBI/DiunaBI.Infrastructure/Data/DesignTimeDbContextFactory.cs

31 lines
1.1 KiB
C#
Raw Normal View History

using System;
using System.IO;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
2025-11-05 20:50:25 +01:00
namespace DiunaBI.Infrastructure.Data;
public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<AppDbContext>
{
public AppDbContext CreateDbContext(string[] args)
{
var configuration = new ConfigurationBuilder()
2025-11-05 20:50:25 +01:00
.SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../DiunaBI.API"))
.AddJsonFile("appsettings.json", optional: false)
.AddJsonFile("appsettings.Development.json", optional: true)
.Build();
var optionsBuilder = new DbContextOptionsBuilder<AppDbContext>();
2025-06-07 12:33:33 +02:00
var connectionString = configuration.GetConnectionString("SQLDatabase");
if (string.IsNullOrEmpty(connectionString))
{
2025-06-07 12:33:33 +02:00
throw new InvalidOperationException("Connection string 'SQLDatabase' not found in appsettings.json");
}
optionsBuilder.UseSqlServer(connectionString);
return new AppDbContext(optionsBuilder.Options);
}
}