.NET Core 2.1 Npgsql.EntityFrameworkCore.PostgreSQL Code-First - PullRequest
0 голосов
/ 18 октября 2018

Я создаю проект, в котором я хотел бы подключиться к провайдеру SQLite для тестирования, и использую PostgreSQL на производстве.

protected override void OnConfiguring(DbContextOptionsBuilder opt)
{
 #if DEBUG
  opt.UseSqlite("Data Source=blogging.db");
 #endif
 #if !DEBUG     
  opt.UseNpgsql("Host=localhost;Database=xxxx;Username=xxxxx;Password=xxxxx");
 #endif
}

Я бы хотел использовать стратегию кода в первую очередь.Для SQLite - нет проблем:

dotnet ef migrations add InitialCreate
dotnet ef database update

В заключение, существует ли подобное решение для PostgeSQL (OpenSource)?

1 Ответ

0 голосов
/ 01 июня 2019

Я работаю с postgreSQL точно так же, как вы говорите.

Я использую следующие 2 пакета слепков:

  • Npgsql;
  • Npgsql.EntityFrameworkCore.PostgreSQL

И я просто добавляю это в ваш Startup.cs -> ConfigureServices:

options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));

И это в appsettings.json

"ConnectionStrings": {

       "DefaultConnection": "Server=localhost;Port=5432;Database=postgresTest;User Id=postgres;Password=xyz;"
 }

А потом япросто добавьте миграцию и обновите базу данных:

  1. dotnet ef migrations добавьте MigrationTest
  2. dotnet ef update database

Тогда все работает нормально.Я надеюсь, что это может помочь вам:)

...