Co nowego na platformie EF 6

Zdecydowanie zalecamy korzystanie z najnowszej wydanej wersji platformy Entity Framework, aby móc korzystać z najnowszych funkcji i najwyższej stabilności. Jednak zdajemy sobie sprawę, że może być konieczne użycie poprzedniej wersji lub że chcesz poeksperymentować z nowymi ulepszeniami w najnowszej wersji wstępnej. Aby zainstalować określone wersje platformy EF, zobacz Pobieranie platformy Entity Framework.

EF 6.4.0

Środowisko uruchomieniowe EF 6.4.0 zostało wydane do menedżera NuGet w grudniu 2019 r. Głównym celem wersji EF 6.4 jest udoskonalenie funkcji i scenariuszy dostarczonych w wersji EF 6.3. Zobacz listę ważnych poprawek w witrynie GitHub.

EF 6.3.0

Środowisko uruchomieniowe EF 6.3.0 zostało wydane do menedżera NuGet we wrześniu 2019 r. Głównym celem tej wersji było ułatwienie migracji istniejących aplikacji korzystających z platformy EF 6 do platformy .NET Core 3.0. Kilka poprawek błędów i ulepszeń wprowadzono także dzięki członkom społeczności. Aby uzyskać szczegółowe informacje, zobacz problemy zamknięte w każdym kamieniu milowym wersji 6.3.0. Oto kilka najważniejszych:

  • Obsługa platformy .NET Core 3.0
    • Oprócz platformy .NET Framework 4.x. pakiet EntityFramework jest teraz także przeznaczony dla platformy .NET Standard 2.1.
    • Oznacza to, że wersja EF 6.3 jest wieloplatformowa i obsługiwana także w systemach innych niż Windows, np. Linux i macOS.
    • Polecenia migracji zostały przepisane tak, aby były wykonywane poza procesem i działały z projektami w stylu zestawu SDK.
  • Obsługa identyfikatora HierarchyId programu SQL Server.
  • Ulepszona zgodność z formatami Roslyn i NuGet PackageReference.
  • Dodano narzędzie ef6.exe do włączania, dodawania i stosowania migracji z zestawów oraz tworzenia skryptów. Zastąpi ono narzędzie migrate.exe.

Obsługa projektanta EF

Obecnie nie ma obsługi korzystania z projektanta EF bezpośrednio w projektach platformy .NET Core lub .NET Standard lub w projekcie .NET Framework w stylu zestawu SDK.

Możesz obejść to ograniczenie, dodając plik EDMX i wygenerowane klasy dla jednostek i klasy dbContext jako połączone pliki do projektu platformy .NET Core 3.0 lub .NET Standard 2.1 w tym samym rozwiązaniu.

Połączone pliki będą wyglądać następująco w pliku projektu:

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

Pamiętaj, że plik EDMX jest połączony z akcją tworzenia EntityDeploy. Jest to specjalne zadanie MSBuild (teraz dołączone do pakietu EF 6.3), które dodaje model EF do zestawu docelowego jako zasób osadzony (lub kopiuje go jako pliki w folderze wyjściowym, w zależności od ustawienia (Metadata Artifact Processing) Przetwarzanie artefaktów metadanych w pliku EDMX). Aby uzyskać więcej informacji na temat tej konfiguracji, zapoznaj się z przykładowym plikiem EDMX platformy .NET Core.

Ostrzeżenie: upewnij się, że projekt w starym stylu (tj. w stylu innym niż zestaw SDK) programu .NET Framework definiujący „prawdziwy” plik edmx znajduje się przed projektem definiującym połączenie wewnątrz pliku sln. W przeciwnym razie po otwarciu pliku edmx w projektancie zostanie wyświetlony komunikat o błędzie „Platforma Entity Framework nie jest dostępna na platformie docelowej aktualnie określonej dla projektu. Możesz zmienić platformę docelową projektu lub edytować model w narzędziu XmlEditor”.

Poprzednie wydania

Strona Poprzednie wydania zawiera archiwum wszystkich poprzednich wersji platformy EF i głównych funkcji, które zostały wprowadzone w każdej wersji.