Существуют ли технические причины, по которым EF 5 не поддерживается полностью на .NET4.0?

Я хотел обновить свое приложение до EF 5, чтобы воспользоваться такими функциями, как поддержка пространственного прорисовки и т.д. Однако мне не удалось обновить, если я не перейду на .Net 4.5.

Я хотел бы знать, какие функции .Net 4.5 используют EF 5, что это невозможно сделать в .Net 4.0?

Ответ 1

Я понимаю, что EF >= 4.1 (включая EF 5) состоит из

  • "основные библиотеки EF", такие как (System.Data.Entity.dll), которые являются частью .NET Framework
  • дополнительный пакет/сборку, которую вы можете скачать через Nuget, который содержит API DbContext API и Code-First

Были планы и попытка летом 2011 года (Entity Framework June 2011 CTP), чтобы освободить enum, пространственную поддержку и другие новые функции (за исключением Code-First Migrations) в качестве обновления основных библиотек до выпуска .NET 4.5. Но команда EF решила, что такие обновления вне диапазона возможны для пакета NuGet (почему EF 4.3 уже имеет функцию Migrations, которая не требует касания основных библиотек), но для основных библиотек они тоже сложный и не может быть выполнен до выпуска .NET 4.5:

В Entity Framework есть две логические части: ядро компоненты, которые поставляются внутри .NET Framework и Visual Studio и "внеполосные компоненты, которые мы можем обновить на гораздо более частый график. В настоящее время мы смотрим, как мы можем обновить а также более частые каденции." EF June 2011" CTP была нашей первой попыткой доставки основных компонентов больше часто, и его стало ясно, что они просто технически не готовы сделайте это еще.

Основные компоненты включают:

  • Текущая среда ядра EF (System.Data.Entity.dll и System.Web.Entity.dll)
  • Дизайнер EF

Внеполосные компоненты включают: (Мы, скорее всего, отправим больше вне диапазона компоненты в будущем)

  • API DbContext и первый код (EntityFramework.dll)
  • T4 Шаблоны для использования API DbContext с первой и первой версиями базы данных
  • Электроинструменты EF
  • Первые шаги миграции кода

(Цитата из здесь.)

Это означает, что поддержка enum для EF будет частью основных библиотек .NET 4.5, а не загружаемого пакета EF 5 NuGet. Следовательно, новые функции EF, такие как enum и пространственная поддержка, недоступны вместе с .NET 4.0.

Подробнее об истории и причинах разделения "Библиотеки EF Core" из пакета "EF NuGet" можно найти здесь: http://blogs.msdn.com/b/adonet/archive/2011/10/18/how-we-talk-about-ef-and-its-future-versions.aspx