Files
myoffice/MyOffice.Migration.Postgres/AppDbContextFactoryPostgres.cs
2023-06-22 10:01:27 +03:00

27 lines
885 B
C#

namespace MyOffice.Migrations.Postgres;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
using MyOffice.DbContext;
using MyOffice.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;
}
}