You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/docs/cs/Entity-Framework-Core-Postg...

2.9 KiB

Přepnutí na EF Core PostgreSQL providera

Tento dokument vysvětluje, jak přepnout na poskytovatele databáze PostgreSQL pro spouštěcí šablonu aplikace, která je dodávána s předem nakonfigurovaným SQL poskytovatelem.

Výměna balíku Volo.Abp.EntityFrameworkCore.SqlServer

Projekt .EntityFrameworkCore v řešení závisí na NuGet balíku Volo.Abp.EntityFrameworkCore.SqlServer. Odstraňte tento balík a přidejte stejnou verzi balíku Volo.Abp.EntityFrameworkCore.PostgreSql.

Nahrazení závislosti modulu

Najděte třídu YourProjectNameEntityFrameworkCoreModule v projektu .EntityFrameworkCore, odstraňte typeof(AbpEntityFrameworkCoreSqlServerModule) z atributu DependsOn, přidejte typeof(AbpEntityFrameworkCorePostgreSqlModule) (také nahraďte using Volo.Abp.EntityFrameworkCore.SqlServer; za using Volo.Abp.EntityFrameworkCore.PostgreSql;).

UseNpgsql()

Najděte volání UseSqlServer() v YourProjectNameEntityFrameworkCoreModule.cs uvnitř projektu .EntityFrameworkCore a nahraďte za UseNpgsql().

Najděte volání UseSqlServer() v YourProjectNameMigrationsDbContextFactory.cs uvnitř projektu .EntityFrameworkCore.DbMigrations a nahraďte za UseNpgsql().

V závislosti na struktuře řešení můžete najít více volání UseSqlServer(), které je třeba změnit.

Změna connection stringů

PostgreSql connection stringy se od těch pro SQL Server liší. Je proto potřeba zkontrolovat všechny soubory appsettings.json v řešení a connection stringy v nich nahradit. Podívejte se na connectionstrings.com pro více detailů o možnostech PostgreSql connection stringů.

Typicky je potřeba změnit appsettings.json v projektech .DbMigrator a .Web projects, ale to záleží na vaší struktuře řešení.

Regenerace migrací

Startovací šablona používá Entity Framework Core Code First migrace. EF Core migrace závisí na zvoleném DBMS poskytovateli. Tudíž změna DBMS poskytovatele způsobí selhání migrace.

  • Smažte složku Migrations v projektu .EntityFrameworkCore.DbMigrations and znovu sestavte řešení.
  • Spusťte Add-Migration "Initial" v Package Manager Console (je nutné zvolit .DbMigrator (nebo .Web) projekt jako startovací projekt v Solution Explorer a zvolit projekt .EntityFrameworkCore.DbMigrations jako výchozí v Package Manager Console).

Tímto vytvoříte migraci databáze se všemi nakonfigurovanými databázovými objekty (tabulkami).

Spusťte projekt .DbMigrator k vytvoření databáze a vložení počátečních dat.

Spuštění aplikace

Vše je připraveno. Stačí už jen spustit aplikaci a užívat si kódování.