Files
myoffice/MyOffice.Migration.Postgres/AppDbContextFactoryPostgres.cs
T
2023-04-29 09:17:17 +03:00

27 lines
858 B
C#

namespace MyOffice.Migrations;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
using DbContext;
using Shared;
public class AppDbContextFactoryPostgres : IDesignTimeDbContextFactory<AppDbContext>
{
public AppDbContext CreateDbContext(string[]? args)
{
var builder = new DbContextOptionsBuilder<AppDbContext>();
var sharedConfiguration = SharedConfiguration.CreateConfigurationContainer();
var connectionString =
args?.FirstOrDefault()
?? sharedConfiguration.GetConnectionString("npgsql");
builder.UseNpgsql(connectionString, b => b.MigrationsAssembly("MyOffice.Migrations.Postgres"));
var db = new AppDbContext(AppDbContextProvidersEnum.npgsql, builder.Options);
db.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
return db;
}
}