Найти тему
.Net Review

Для чего нужен EntityFramework? Обзор EntityFramework Core

Оглавление

Для удобной работы с Базами Данных в проекте, были реализованы технологии EntityFramework 6 и после неё - EntityFramework Core. Подробнее о работе EF, для чего она нужна и разнице между EF6 и EF Core в этой статье.

Что это?

Entity Framework - это объектно-реляционный картограф (O / RM), который позволяет разработчикам .NET работать с базой данных с использованием объектов .NET, что устраняет необходимость в большинстве случаев работать с запросами. Т.е. работа напрямую с объектами.

EntityFramework 6

Entity Framework 6 (EF6) — это проверенная технология доступа к данным. Впервые этот продукт был выпущен в 2008 году в составе пакета обновления 1 (SP1) для платформы .NET Framework 3.5 и пакета обновления 1 (SP1) для Visual Studio 2008. Начиная с версии 4.1 он поставлялся в виде пакета NuGet EntityFramework. EF6 выполняется в .NET Framework 4.x и .NET Core 3.0 и последующих версий.

EF6 все еще поддерживается, и для него будут выходить исправления ошибок и небольшие улучшения.

EntityFramework Core

Entity Framework Core (EF Core) является совершенно новым вариантом EF6, который был выпущен в 2016 г. Он поставляется в пакетах Nuget, главный из них — Microsoft. EntityFrameworkCore. EF Core — это кроссплатформенный продукт, который можно запускать в .NET Core.

EF Core был разработан как аналог EF6. Большая часть API верхнего уровня сохранена, поэтому EF Core покажется знакомым тем разработчикам, которые использовали EF6.

EF6 vs EF Core

EF Core предлагает новые функции, которые не будут реализованы в EF6 (например, альтернативные ключи, пакетные обновления и смешанные оценки клиентов и баз данных в запросах LINQ. Но поскольку это новая база кода, там отсутствуют некоторые функции EF6.

В следующей таблице представлено сравнение возможностей, доступных в EF Core и EF6. Это общее сравнение, здесь не указаны все функции и не объясняются различия между одной и той же возможностью в разных версиях EF.

Столбец EF Core содержит версию продукта, в которой эта возможность появилась впервые.

-2
-3

Итог

В EntityFramework Core планируют внедрять новые возможности, у Microsoft даже есть стратегия развития EF Core. Большим плюсом является кроссплатформенность. В любой .Net Core проект можно внедрить EF Core. Также он более легковесный, в нем реализовано больше возможностей. Из этого исходит, что при создании нового проекты лучше использовать EF Core.

Телеграмм канал: https://t.me/dotnetreview

Источники: Microsoft EF6 & EF Core