ADO.NET Entity Framework

Материал из Википедии — свободной энциклопедии
ADO.NET Entity Framework в составе .NET Framework

ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является

LINQ в виде LINQ to Entities, так и с использованием Entity SQL. Для облегчения построения web-решений используется как ADO.NET Data Services (Astoria), так и связка из Windows Communication Foundation и Windows Presentation Foundation, позволяющая строить многоуровневые приложения, реализуя один из шаблонов проектирования MVC, MVP или MVVM
.

История

Релиз ADO.NET Entity Framework состоялся

Visual Studio 2008 Service Pack 1. В VS 2008 вошёл EDM Wizard для реверс-инжиниринга
существующих баз данных и EDM Designer для редактирования сгенерированных моделей или создания их с нуля.

.NET Framework 4.0
был представлена Entity Framework 4.0. Позже уже отдельно от фреймворка были представлены версии: 4.1 (апрель 2011), 4.2 (октябрь 2011), 4.3 (февраль 2012).

11 августа 2012 года была представлена версия 5.0.0, которая была предназначена для .NET Framework 4.5. А 17 октября 2013 года была представлена версия 6.0, которая вышла под лицензией Apache License v2, тем самым став open-source проектом.

Версия 6.0 была выпущена 17 октября 2013 года[3] и сейчас это проект с открытым исходным кодом под лицензией Apache License v2. В версии 6.0 был сделан ряд улучшений в поддержке метода работы Code First.

Entity SQL

Entity SQL представляет собой язык, подобный языку SQL, который позволяет выполнять запросы к концептуальным моделям в Entity Framework[4].

LINQ to Entities

Это альтернативный интерфейс LINQ API, используемый для обращения к базе данных. Он отделяет сущностную объектную модель данных от физической базы данных, вводя логическое отображение между ними. Так, например, схемы реляционных баз данных не всегда подходят для построения объектно-ориентированных приложений и в результате мы имеем объектную модель приложения, существенно отличающуюся от логической модели данных, в этом случае используется LINQ to Entities, который использует модель EDM (Entity Data Model). То есть, если вам нужно ослабить связь между вашей сущностной объектной моделью данных и физической моделью данных, например, если ваши сущностные объекты конструируются из нескольких таблиц или вам нужна большая гибкость в моделировании ваших сущностных объектов используйте LINQ to Entities Архивная копия от 27 октября 2009 на Wayback Machine.

Подходы в EF

Изначально с самой первой версии Entity Framework поддерживал подход Database First, который позволял по готовой базе данных сгенерировать модель edmx. Затем эта модель использовалась для подключения к базе данных. Позже был добавлен подход Model First. Он позволял создать вручную с помощью визуального редактора модель edmx, и по ней создать базу данных. Начиная с 5.0 предпочтительным подходом становится Code First[5]. Его суть - сначала пишется код модели на C#, а затем по нему генерируется база данных. При этом модель edmx уже не используется.

Примечания

  1. Transparency in the design process (англ.). Microsoft ADO.NET team Entity Framework Design blog (23 августа 2008). Дата обращения: 24 ноября 2008. Архивировано из оригинала 21 марта 2012 года.
  2. Update on LINQ to SQL and LINQ to Entities Roadmap (англ.). Microsoft ADO.NET team blog (29 октября 2008). Дата обращения: 24 ноября 2008. Архивировано из оригинала 21 марта 2012 года.
  3. EF6 RTM Available (17 октября 2013). Архивировано из оригинала 30 марта 2014 года.
  4. Общие сведения о языке Entity SQL. Дата обращения: 19 ноября 2010. Архивировано 6 декабря 2011 года.
  5. Code First в Entity Framework. Дата обращения: 9 января 2015. Архивировано 9 января 2015 года.

Ссылки

Литература

  • Julia Lerman. Programming Entity Framework. — 2nd Edition. —
    O’Reilly, 2010. — 920 p. — ISBN 0-596-80726-0
    .
  • Эндрю Троелсен. Язык программирования C# 2010 и платформа .NET 4.0 = Pro C# 2010 and the .NET 4.0 Platform, 5ed. — М.: «Вильямс», 2010. — С. 1392. — ISBN 978-5-8459-1682-2.
  • Кристиан Нейгел, Билл Ивьен и др. C# 4.0 и платформа .NET 4 для профессионалов = Professional C# 4 and .NET 4. — М.: «Диалектика», 2010. — С. 1440. — ISBN 978-5-8459-1656-3.