Новые возможности EF6

Корпорация Майкрософт настоятельно рекомендует использовать последнюю выпущенную версию Entity Framework, чтобы вы могли использовать новые функции с высочайшим уровнем надежности. Тем не менее мы понимаем, что вам может потребоваться предыдущая версия или вы захотите поэкспериментировать с новыми усовершенствованиями в последнем предварительном выпуске. Чтобы установить определенные версии EF, см. раздел Get Entity Framework.

EF 6.5.2

Среда выполнения EF 6.5.2 была опубликована на NuGet в апреле 2026 года. См. заметки о выпуске на GitHub. Важные изменения:

  • Совместимость с .NET 10 — переносит исправление для первоклассной поддержки span в .NET 10, чтобы EF6 продолжал корректно работать на .NET 10 (#2365).
  • Microsoft.Data.SqlClient обновлен до версии 5.1.6 (#2284).
  • Исправлен разбор HierarchyId для чисел вне диапазона Int32 (#2362).
  • Разрешите средству ef6 запускаться в новом пакете SDK .NET (#2396).

EF 6.5.1

Среда выполнения EF 6.5.1 была выпущена на NuGet в июне 2024 года. Этот выпуск исправлений исправляет неработающий пакет NuGet в версии 6.5.0 (#2263).

EF 6.5.0

Рантайм EF 6.5.0 был выпущен в NuGet в июне 2024 года. Основной целью EF 6.5 является включение нового поставщика SQL Server / База данных SQL Azure. См. список важных исправлений на сайте GitHub. Ниже перечислены некоторые основные моменты:

  • Новый поставщик SQL Server / база данных SQL Azure, внесённый сообществом — Microsoft.EntityFramework.SqlServer. Этот новый поставщик использует современный клиент SQL Server Microsoft.Data.SqlClient. Дополнительные сведения о настройке этого поставщика см. в руководстве Microsoft.EntityFramework.SqlServer.
  • Эта ef6 программа была обновлена только для поддержки .NET 6 и более новых версий. Она также была обновлена для поддержки чтения из файлов app.config и поддержки Windows ARM64.
  • Драйвер System.Data.SqlClient был обновлен до версии 4.8.6.

EF 6.4.0

Исполняемая среда EF 6.4.0 стала доступна на NuGet в декабре 2019 г. Основной целью EF 6.4 является представление улучшенных функций и сценариев, которые были выпущены в EF 6.3. См. список важных исправлений на сайте GitHub.

EF 6.3.0

Среда выполнения EF 6.3.0 выпущена в NuGet в октябре 2019 г. Основной целью этого выпуска было упрощение переноса существующих приложений, использующих EF 6, в .NET Core 3.0. Сообществом также было внесено несколько исправлений и усовершенствований. См. сведения о проблемах, устраненных в каждой контрольной точке версии 6.3.0. Ниже перечислены некоторые основные моменты:

  • Поддержка .NET Core 3.0
    • Теперь пакет Entity Framework можно использовать для .NET Standard 2.1 наряду с .NET Framework 4.x.
    • Это означает, что платформа EF 6.3 является кроссплатформенной и поддерживается не только в Windows, но и в других операционных системах, таких как Linux и macOS.
    • Команды миграции были переписаны: теперь они поддерживают внепроцессное выполнение и проекты на базе пакетов SDK.
  • Поддержка SQL Server HierarchyId.
  • Улучшена совместимость с Roslyn и NuGet PackageReference.
  • Добавлена утилита ef6.exe для включения, добавления, создания скриптов и применения миграций из сборок. Это замена для migrate.exe.

Поддержка конструктора EF

В настоящее время нет поддержки использования конструктора EF непосредственно в проектах .NET или .NET Standard или в проекте .NET Framework в стиле пакета SDK.

Это ограничение можно обойти, добавив EDMX-файл и созданные классы для сущностей, а также DbContext в качестве связанных файлов в проект .NET Core 3.0 или .NET Standard 2.1 в одном решении.

В файле проекта связанные файлы будут выглядеть так:

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

Обратите внимание, что EDMX-файл связан с действием сборки EntityDeploy. Это специальная задача MSBuild (теперь включена в пакет EF 6.3), которая добавляет модель EF в целевую сборку в качестве внедренных ресурсов (или копирует ее как файлы в выходную папку в зависимости от параметра обработки артефакта метаданных в EDMX). Дополнительные сведения о том, как настроить эту настройку, см. в нашем примере EDMX .NET.

Внимание! Убедитесь, что проект .NET Framework в старом стиле (т. е. не в стиле SDK), определяющий реальный EDMX-файл, предшествует проекту, определяющему ссылку в SLN-файле. Иначе при открытии EDMX-файла в конструкторе появится сообщение об ошибке: "Платформа Entity Framework недоступна в целевой платформе, указанной для проекта. Вы можете изменить целевую платформу проекта или отредактировать модель в XmlEditor.

Прошлые выпуски

На странице прошлых выпусков содержится архив всех предыдущих версий EF и основных функций, которые были представлены в каждом выпуске.