Neuerungen in EF6What's new in EF6

Es wird dringend empfohlen, dass Sie die neueste veröffentlichte Version von Entity Framework verwenden. So wird sichergestellt, dass Sie die neuesten Features nutzen und die höchste Stabilität erhalten.We highly recommend that you use the latest released version of Entity Framework to ensure you get the latest features and the highest stability. Uns ist jedoch klar, dass Sie möglicherweise eine frühere Version verwenden müssen oder die neuen Verbesserungen für die aktuelle Vorabversion ausprobieren möchten.However, we realize that you may need to use a previous version, or that you may want to experiment with new improvements in the latest pre-release. Wie Sie bestimmte Versionen von EF installieren, erfahren Sie unter Get Entity Framework (Beziehen von Entity Framework).To install specific versions of EF, see Get Entity Framework.

EF 6.4.0EF 6.4.0

Die EF 6.4.0-Runtime wurde im Dezember 2019 für NuGet veröffentlicht.The EF 6.4.0 runtime was released to NuGet in December 2019. Das Hauptziel von EF 6.4 ist es, die Features und Szenarios von EF 6.3 zu optimieren.The primary goal of EF 6.4 is to polish the features and scenarios that was delivered in EF 6.3. Auf GitHub finden Sie eine Liste wichtiger Fixes.See list of important fixes on Github.

EF 6.3.0EF 6.3.0

Die EF 6.3.0-Runtime wurde im September 2019 für NuGet veröffentlicht.The EF 6.3.0 runtime was released to NuGet in September 2019. Das Hauptziel dieses Release bestand darin, die Migration vorhandener Anwendungen, die EF 6 verwenden, zu . NET Core 3.0 zu ermöglichen.The main goal of this release was to facilitate migrating existing applications that use EF 6 to .NET Core 3.0. Die Community hat außerdem verschiedene Fehlerbehebungen und Verbesserungen beigetragen.The community has also contributed several bug fixes and enhancements. Einzelheiten zu den gelösten Problemen finden Sie in den Meilensteinen zu Version 6.3.0.See the issues closed in each 6.3.0 milestone for details. In Folgenden werden einige der wichtigsten aufgeführt:Here are some of the more notable ones:

  • Unterstützung für .NET Core 3.0Support for .NET Core 3.0
    • Das EntityFramework-Paket verwendet nun .NET Standard 2.1 zusätzlich zu .NET Framework 4.x als Ziel.The EntityFramework package now targets .NET Standard 2.1 in addition to .NET Framework 4.x.
    • Dies bedeutet, dass EF 6.3 plattformübergreifend ist und auf anderen Betriebssystemen als Windows unterstützt wird, wie z. B. Linux und macOS.This means that EF 6.3 is cross-platform and supported on other operating systems besides Windows, like Linux and macOS.
    • Die Migrationsbefehle wurden so umgeschrieben, dass Sie außerhalb des Prozesses ausgeführt werden und mit Projekten im SDK-Stil funktionieren.The migrations commands have been rewritten to execute out of process and work with SDK-style projects.
  • Unterstützung für HierarchyId von SQL Server.Support for SQL Server HierarchyId.
  • Verbesserte Kompatibilität mit PackageReference von Roslyn und NuGet.Improved compatibility with Roslyn and NuGet PackageReference.
  • Das ef6.exe-Dienstprogramm wurde zum Aktivieren, Hinzufügen, Skripten und Anwenden von Migrationen aus Assemblys hinzugefügt.Added ef6.exe utility for enabling, adding, scripting, and applying migrations from assemblies. Hierdurch wird migrate.exe ersetzt.This replaces migrate.exe.

Unterstützung des EF-DesignersEF designer support

Es gibt derzeit keine Unterstützung für die direkte Verwendung des EF-Designers in .NET Core- oder .NET Standard-Projekten oder für SDK-ähnliche .NET Framework-Projekte.There's currently no support for using the EF designer directly on .NET Core or .NET Standard projects or on an SDK-style .NET Framework project.

Sie können diese Einschränkung umgehen, indem Sie die EDMX-Datei und die generierten Klassen für die Entitäten und DbContext als verknüpfte Dateien zu einem .NET Core 3.0- oder .NET Standard 2.1-Projekt in derselben Projektmappe hinzufügen.You can work around this limitation by adding the EDMX file and the generated classes for the entities and the DbContext as linked files to a .NET Core 3.0 or .NET Standard 2.1 project in the same solution.

Die verknüpften Dateien sehen in der Projektdatei wie folgt aus:The linked files will look like this in the project file:

<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>

Beachten Sie, dass die EDMX-Datei mit dem EntityDeploy-Buildvorgang verknüpft ist.Note that the EDMX file is linked with the EntityDeploy build action. Dabei handelt es sich um eine spezielle MSBuild-Aufgabe (die jetzt im EF 6.3-Paket enthalten ist), mit der das EF-Modell in der Zielassembly als eingebettete Ressourcen hinzugefügt wird (oder als Dateien in den Ausgabeordner kopiert wird, abhängig von der Einstellung für die Verarbeitung von Metadatenartefakten in der EDMX-Datei).This is a special MSBuild task (now included in the EF 6.3 package) that takes care of adding the EF model into the target assembly as embedded resources (or copying it as files in the output folder, depending on the Metadata Artifact Processing setting in the EDMX). Weitere Informationen zur Einrichtung finden Sie im EDMX-Beispiel zu .NET Core.For more details on how to get this set up, see our EDMX .NET Core sample.

Warnung: Achten Sie darauf, dass das alte .NET Framework-Projekt (d. h. nicht SDK-ähnlich) die „echte“ EDMX-Datei definiert, bevor das Projekt den Link innerhalb der SLN-Datei definiert.Warning: make sure the old style (i.e. non-SDK-style) .NET Framework project defining the "real" .edmx file comes before the project defining the link inside the .sln file. Andernfalls wird beim Öffnen der EDMX-Datei im Designer die Fehlermeldung „Das Entity Framework ist im derzeit für dieses Projekt angegebenen Zielframework nicht verfügbar.Otherwise, when you open the .edmx file in the designer, you see the error message "The Entity Framework is not available in the target framework currently specified for the project. Sie können das Zielframework des Projekts ändern oder das Modell in XmlEditor bearbeiten.“ angezeigt.You can change the target framework of the project or edit the model in the XmlEditor".

Frühere ReleasesPast Releases

Auf der Seite Frühere Releases finden Sie ein Archiv aller früheren Versionen von EF und die wichtigsten Features, die in den einzelnen Releases eingeführt wurden.The Past Releases page contains an archive of all previous versions of EF and the major features that were introduced on each release.