Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud jste si přečetli všechny upozornění a jste připraveni k portu, tady jsou některé pokyny, které vám pomůžou začít.
Nainstalujte balíčky NuGet EF Core
Pokud chcete použít EF Core, nainstalujte balíček NuGet pro zprostředkovatele databáze, kterého chcete použít. Například při cílení na SQL Server byste nainstalovali Microsoft.EntityFrameworkCore.SqlServer. Podrobnosti najdete v tématu Poskytovatelé databází.
Pokud plánujete používat migrace, měli byste také nainstalovat balíček Microsoft.EntityFrameworkCore.Tools.
Balíček NuGet EF6 (EntityFramework) je v pořádku nechat nainstalovaný, protože EF Core a EF6 je možné používat souběžně ve stejné aplikaci. Pokud ale nemáte v úmyslu používat EF6 v žádné oblasti aplikace, pak odinstalace balíčku způsobí chyby kompilace u částí kódu, které potřebují vaši pozornost.
Přepnout jmenné prostory
Většina rozhraní API, která používáte v EF6, se nachází v System.Data.Entity jmenném prostoru (a příslušných podprostorech). První změnou kódu je přepnout na obor názvů Microsoft.EntityFrameworkCore. Obvykle byste začali s odvozeným kontextovým souborem kódu a pak odsud pracovali a řešili chyby kompilace, když k nim dojde.
Konfigurace kontextu (připojení atd.)
Jak je popsáno při konfiguraci připojení k databázi, EF Core má méně magie při zjišťování databáze, ke které se má připojit. Budete muset přepsat metodu OnConfiguring ve vašem odvozeném kontextu a použít specifické rozhraní API pro poskytovatele databáze k nastavení připojení k databázi.
Většina aplikací EF6 ukládá připojovací řetězec do souboru aplikacíApp/Web.config. V EF Core si přečtete tento připojovací řetězec pomocí ConfigurationManager rozhraní API. Možná budete muset přidat odkaz na System.Configuration sestavení architektury, aby bylo možné používat toto rozhraní API:
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["BloggingDatabase"].ConnectionString);
}
}
Upozornění Nikdy neukládá hesla ani jiná citlivá data ve zdrojovém kódu nebo konfiguračních souborech. Produkční tajné kódy by se neměly používat pro vývoj ani testování. Tajné kódy by se neměly nasazovat s aplikací. Produkční tajné kódy by měly být přístupné prostřednictvím kontrolovaných prostředků, jako je Azure Key Vault. Testovací a produkční tajné kódy Azure je možné ukládat a chránit pomocí poskytovatele konfigurace služby Azure Key Vault.
Aktualizace kódu
V tomto okamžiku se jedná o řešení chyb kompilace a kontrolu kódu, abyste zjistili, jestli vás změny chování ovlivní.
Existující migrace
Neexistuje vhodný způsob, jak převést stávající migrace EF6 na EF Core.
Pokud je to možné, je nejlepší předpokládat, že všechny předchozí migrace z EF6 byly použity do databáze a pak začít migrovat schéma z tohoto bodu pomocí EF Core. K tomu byste použili Add-Migration příkaz k přidání migrace, jakmile se model portuje do EF Core. Pak byste odebrali veškerý kód z metod Up a Down ve vygenerované migraci. Následující migrace se budou porovnávat s modelem podle toho, jak byla tato počáteční migrace připravena.
Otestování portu
Jenom proto, že se vaše aplikace zkompiluje, neznamená, že se úspěšně portuje do EF Core. Budete muset otestovat všechny oblasti aplikace, abyste měli jistotu, že žádné změny chování nebudou mít nepříznivý vliv na vaši aplikaci.
Nakonec si projděte podrobné případy, které byste měli zvážit při přenosu , a podívejte se na další rady týkající se konkrétních případů a scénářů v kódu.