abp
/Data
/
MyProjectNameDbContextFactory.cs
32 строки · 1.1 Кб
1using Microsoft.EntityFrameworkCore;
2using Microsoft.EntityFrameworkCore.Design;
3
4namespace MyCompanyName.MyProjectName.Data;
5
6public class MyProjectNameDbContextFactory : IDesignTimeDbContextFactory<MyProjectNameDbContext>
7{
8public MyProjectNameDbContext CreateDbContext(string[] args)
9{
10//<TEMPLATE-REMOVE IF-NOT='dbms:PostgreSQL'>
11// https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic
12AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
13//</TEMPLATE-REMOVE>
14MyProjectNameEfCoreEntityExtensionMappings.Configure();
15
16var configuration = BuildConfiguration();
17
18var builder = new DbContextOptionsBuilder<MyProjectNameDbContext>()
19.UseSqlServer(configuration.GetConnectionString("Default"));
20
21return new MyProjectNameDbContext(builder.Options);
22}
23
24private static IConfigurationRoot BuildConfiguration()
25{
26var builder = new ConfigurationBuilder()
27.SetBasePath(Directory.GetCurrentDirectory())
28.AddJsonFile("appsettings.json", optional: false);
29
30return builder.Build();
31}
32}
33