ADO.NET Entity Framework

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Entity Framework»)
Перейти к навигации Перейти к поиску
ADO.NET Entity Framework в составе.NET Framework

ADO.NET Entity Framework(EF) — объектно-ориентированная технология доступа к данным, являетсяobject-relational mapping(ORM) решением для.NET FrameworkотMicrosoft.Предоставляет возможность взаимодействия с объектами как посредством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 состоялся11 августа2008 годав составе.NET Framework 3.5Service Pack 1 иVisual Studio 2008Service Pack 1. В VS 2008 вошёл EDM Wizard дляреверс-инжинирингасуществующих баз данных и EDM Designer для редактирования сгенерированных моделей или создания их с нуля.

23 июня2008 года,ещё до релиза первой версии, на стадии финальной доводки Entity Framework V1, начался процесс разработки Entity Framework V2.0.[1]По словамангл.Tim Mallalieu,менеджера программы LINQ to SQL и EF, в.NET Framework 4.0именно Entity Framework станет рекомендуемой технологией доступа к реляционнымСУБДпосредствомLINQ.[2]

12 апреля2010 годав составе релизаVisual Studio 2010и.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 представляет собой язык, подобный языкуSQL,который позволяет выполнять запросы к концептуальным моделям в Entity Framework[4].

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

Изначально с самой первой версии 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.