Novinky v EF6

Důrazně doporučujeme používat nejnovější vydanou verzi sady Entity Framework, abyste měli jistotu, že získáte nejnovější funkce a nejvyšší stabilitu. Uvědomujeme si ale, že možná budete potřebovat použít předchozí verzi nebo že budete chtít experimentovat s novými vylepšeními v nejnovější předběžné verzi. Pokud si chcete nainstalovat konkrétní verzi EF, přečtěte si téma Jak získat Entity Framework.

EF 6.4.0

Modul runtime EF 6.4.0 byl vydán přes NuGet v prosinci 2019. Hlavním cílem EF 6.4 je doladit funkce a scénáře, které byly dodány v EF 6.3. Podívejte se na seznam důležitých oprav na GitHubu.

EF 6.3.0

Modul runtime EF 6.3.0 byl vydán přes NuGet v září 2019. Hlavním cílem této verze bylo usnadnit migraci stávajících aplikací, které používají EF 6, na .NET Core 3.0. Komunita také přispěla několika opravami chyb a vylepšeními. Podrobnosti najdete v popisu uzavřených problémů v jednotlivých milnících verze 6.3.0. Tady jsou nejvýznamnější změny:

  • Podpora pro .NET Core 3.0
    • Balíček EntityFramework teď kromě rozhraní .NET Framework 4.x cílí i na .NET Standard 2.1.
    • To znamená, že EF 6.3 je multiplatformní a podporuje se i v jiných operačních systémech než Windows, například Linux a macOS.
    • Příkazy migrace byly přepsány, aby se spouštěly mimo proces a fungovaly s projekty ve stylu SDK.
  • Podpora HierarchyId SQL Serveru
  • Vylepšená kompatibilita se sadou Roslyn a formátem NuGet PackageReference
  • Byl přidán nástroj ef6.exe pro povolení, přidání, skriptování a použití migrací ze sestavení. Nahrazuje nástroj migrate.exe.

Podpora EF Designeru

V současné době se nepodporuje použití EF Designeru přímo v projektech .NET Core nebo .NET Standard nebo v projektu .NET Framework ve stylu SDK.

Toto omezení můžete obejít přidáním souboru EDMX a vygenerovaných tříd pro entity a DbContext jako propojených souborů do projektu .NET Core 3.0 nebo .NET Standard 2.1 ve stejném řešení.

Propojené soubory budou v souboru projektu vypadat takto:

<ItemGroup>
  <EntityDeploy Include="..\EdmxDesignHost\Entities.edmx" Link="Model\Entities.edmx" />
  <Compile Include="..\EdmxDesignHost\Entities.Context.cs" Link="Model\Entities.Context.cs" />
  <Compile Include="..\EdmxDesignHost\Thing.cs" Link="Model\Thing.cs" />
  <Compile Include="..\EdmxDesignHost\Person.cs" Link="Model\Person.cs" />
</ItemGroup>

Všimněte si, že soubor EDMX je propojený s akcí sestavení EntityDeploy. Jedná se o speciální úlohu nástroje MSBuild (nyní zahrnutou v balíčku EF 6.3), která se postará o přidání modelu EF do cílového sestavení jako vložených prostředků (nebo jeho zkopírování jako souborů ve výstupní složce, v závislosti na nastavení zpracování artefaktů metadat v souboru EDMX). Další podrobnosti o tom, jak vše nastavit, najdete v naší ukázce souboru EDMX pro .NET Core.

Upozornění: Dbejte na to, aby projekt .NET Framework ve starém stylu (tedy nikoli stylu SDK), který definuje „skutečný“ soubor .edmx, byl před projektem, který definuje propojení v souboru .sln. V opačném případě by se při otevření souboru .edmx v Designeru zobrazila tato chybová zpráva: „Entity Framework není v cílovém frameworku, který je momentálně zadaný u projektu, k dispozici. Můžete buď změnit cílový framework, nebo upravit model v XmlEditoru.“

Předchozí verze

Archiv všech předchozích verzí EF a hlavních funkcí, které byly v jednotlivých verzích zavedeny, najdete na stránce Předchozí verze.