Что такое Entity Framework?

Entity Framework был представлен корпорацией Microsoft в 2008 году как основное средством взаимодействия между приложениями .NET и реляционными базами данных. Entity Framework — это инструмент, упрощающий сопоставление объектов в программном обеспечении с таблицами и столбцами реляционной базы данных.

  • Entity Framework (EF) — это ORM-фреймворк с открытым исходным кодом для ADO.NET, который является частью .NET Framework.
  • ORM обрабатывает создание соединений с базой данных и выполнение команд, а также результаты запросов и автоматическое предоставление этих результатов в качестве объектов приложения.
  • ORM также помогает отслеживать изменения объектов приложения и может сохранять эти изменения в базе данных.

Почему Entity Framework?

Entity Framework — это ORM, нацеленная на повышение производительности за счет сокращения задач по сохранению данных, используемых в приложениях.

  • Entity Framework может генерировать команды базы данных, необходимые для чтения или записи данных, а также выполнять их.
  • При необходимости можно выразить запросы через объекты домена, используя LINQ.
  • Entity Framework выполняет соответствующий запрос в базе данных, а затем предоставляет результаты в экземплярах объектов домена, чтобы вы могли работать с ними в приложении.

На данный момент существуют и другие ORM, такие как NHibernate и LLBLGen Pro. Большинство ORM обычно помещают типы домена непосредственно в схему базы данных.

Почему Entity Framework?

Entity Framework имеет более сложный уровень отображения, поэтому позволяет настраивать сопоставления. Например, сопоставления единичного объекта с несколькими таблицами базы данных или даже с несколькими объектами в одной таблице.

Почему Entity Framework? - 2
  • Entity Framework — это рекомендуемая Microsoft технология доступа к данным для новых приложений.
  • ADO.NET также будет непосредственно ссылаться на эту технологию для наборов данных и таблиц данных.
  • Entity Framework — это инструмент, в который активно вкладываются средства и усилия на протяжении уже нескольких лет.
  • Корпорация Microsoft рекомендует использовать Entity Framework с ADO.NET или LINQ для SQL для всех новых разработок.

Концептуальная модель

Для разработчиков, которые ведут проекты, ориентированные на базу данных, преимущество Entity Framework заключается в том, что он позволяет сосредоточиться на бизнес-домене. Хотите, чтобы ваше приложение не ограничивалось только тем, что может сделать база данных?

  • В Entity Framework основное внимание уделяется модели объектов в приложении, а не модели БД, которую вы используете для сохранения данных приложения.
  • Концептуальная модель может быть согласованной со схемой базы данных или кардинально отличаться.
  • Можно использовать Visual Designer для определения концептуальной модели, которая сможет генерировать классы — их вы будете использовать в своем приложении.
  • Можно просто определить классы и использовать функцию Entity Framework под названием Code First. Таким образом вы зададите концептуальную модель для Entity Framework.
Концептуальная модель

В любом случае Entity Framework обрабатывает то, как перейти от вашей концептуальной модели к базе данных. Таки вы можете запросить объекты концептуальной модели и работать с ними напрямую.

Функции

Ниже перечислены основные функции Entity Framework. В этот список вошли наиболее важные функции фреймворка, а также те, о которых разработчики часто задают вопросы.

  • Entity Framework — это инструмент, созданный специалистами компании Microsoft.
  • Entity Framework разрабатывается как продукт с открытым исходным кодом.
  • Entity Framework больше не привязан и не зависит от цикла релизов .NET.
  • Работает с любой реляционной базой данных и с действующим провайдером Entity Framework.
  • Генерация команд SQL из LINQ в Entities.
  • Entity Framework создает параметризованные запросы.
  • Entity Framework позволяет вставлять, обновлять и удалять команды.
  • Работает с визуальной моделью или с вашими собственными классами.
  • Entity Framework поддерживает хранимые процедуры.

Пожалуйста, оставляйте ваши отзывы по текущей теме материала. Мы крайне благодарны вам за ваши комментарии, дизлайки, подписки, лайки, отклики!

Пожалуйста, оставляйте ваши мнения по текущей теме материала. Мы очень благодарим вас за ваши комментарии, лайки, отклики, подписки, дизлайки!

Вадим Дворниковавтор-переводчик статьи «What is Entity Framework»