Содержание

Общие сведения об Entity Framework — ADO.NET

  • Статья
  • Чтение занимает 7 мин

Entity Framework — это набор технологий в ADO.NET , которые поддерживают разработку программных приложений, ориентированных на данные. Архитекторам и разработчикам приложений, ориентированных на обработку данных, приходится учитывать необходимость достижения двух совершенно различных целей. Они должны моделировать сущности, связи и логику решаемых бизнес-задач, а также работать с ядрами СУБД, используемыми для сохранения и получения данных. Данные могут распределяться по нескольким системам хранения данных, в каждой из которых применяются свои протоколы, но даже в приложениях, работающих с одной системой хранения данных, необходимо поддерживать баланс между требованиями системы хранения данных и требованиями написания эффективного и удобного для обслуживания кода приложения.

Платформа Entity Framework позволяет работать с данными в форме специфических для домена объектов и свойств (например, с клиентами и их адресами) без необходимости учитывать формат базовых таблиц и столбцов базы данных, где хранятся эти данные. Entity Framework дает разработчикам возможность работать с данными на более высоком уровне абстракции, создавать и сопровождать приложения, ориентированные на работу с данными, одновременно с этим сокращая объем кода по сравнению с традиционными приложениями. Так как Entity Framework является компонентом .NET Платформы, приложения Entity Framework могут выполняться на любом компьютере, на котором .NET установлена платформа, начиная с версии 3.5 с пакетом обновления 1 (SP1).

Дайте жизнь моделям

Многолетним и общим подходом к разработке является подход, при котором построение приложения или службы представляет собой его разделение на три части: модель домена, логическую модель и физическую модель. Модель домена определяет сущности и связи в моделируемой системе. Логическая модель для реляционной базы данных обеспечивает нормализацию сущностей и связей в целях создания таблиц с ограничениями внешнего ключа. В физической модели учитываются возможности конкретной системы обработки данных путем определения зависящих от ядра базы данных подробных сведений о хранении данных, которые касаются секционирования и индексирование.

Физическая модель совершенствуется администраторами базы данных в целях повышения производительности, но программисты, которые разрабатывают код приложения, в основном вынуждены ограничиваться работой с логической моделью, подготавливая SQL-запросы и вызывая хранимые процедуры. Модели домена в основном используются как инструмент для представления и обмена мнениями о требованиях к приложению, поэтому чаще всего служат в качестве практически не изменяющихся схем, которые рассматриваются и обсуждаются на ранних стадиях проекта, после чего выходят из сферы внимания. Во многих коллективах разработчиков принято пропускать этап создания концептуальной модели и начинать с определения таблиц, столбцов и ключей в реляционной базе данных.

Платформа Entity Framework обеспечивает жизнь моделям, позволяя разработчикам запрашивать сущности и связи в модели предметной области (называемой концептуальной моделью в Entity Framework), при этом полагаясь на Entity Framework для преобразования этих операций в команды, зависящие от источника данных. Это позволяет отказаться от применения в приложениях жестко заданных зависимостей от конкретного источника данных.

При работе в режиме Code First концептуальная модель сопоставлена с режимом хранения в коде. Entity Framework может вывести концептуальную модель на основе типов объектов и дополнительных конфигураций, которые вы определяете. Метаданные сопоставления формируются во время выполнения на основе сочетания определений типов домена и дополнительной информации о конфигурации, которая указана в коде. Entity Framework создает базу данных по мере необходимости на основе метаданных. Дополнительные сведения см. в разделе Создание модели.

При работе со средствами работы с моделью EDM концептуальная модель, модель хранения и сопоставление между ними выражены в схемах на основе XML и определены в файлах с именами с соответствующими расширениями.

  • Язык CSDL определяет концептуальную модель. CSDL — это реализация entity Framework модели данных сущности. Расширение файла — CSDL.

  • Язык SSDL определяет модель хранения данных, которая также называется логической моделью. Расширение файла — SSDL.

  • Язык MSL определяет сопоставление модели хранения и концептуальной модели. Расширение файла — MSL.

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

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

Дополнительные сведения см. в разделе Спецификации CSDL, SSDL и MSL.

Сопоставление объектов с данными

При использовании объектно-ориентированного программирования для взаимодействия с системами хранения данных возникают сложности. Безусловно, организация классов часто напоминает организацию таблиц реляционной базы данных, но такое соответствие неидеально. Несколько нормализованных таблиц часто соответствуют единственному классу, а связи между классами представлены не так, как связи между таблицами. Например, для представления клиенту заказа на продажу в классе Order может использоваться свойство, содержащее ссылку на экземпляр класса Customer, но строка таблицы Order базы данных содержит столбец внешнего ключа (или набор столбцов) со значением, которое соответствует первичному ключу в таблице Customer. Класс Customer может включать свойство с именем Orders, содержащее коллекцию экземпляров класса Order, но таблица Customer базы данных не содержит сравнимого столбца. Платформа Entity Framework предоставляет разработчикам гибкость для представления связей таким образом или для более тесной моделировать связи, как они представлены в базе данных.

В существующих решениях была предпринята попытка устранить этот разрыв, часто называемый «несоответствием типов данных» (impedance mismatch), путем сопоставления с реляционными таблицами и столбцами только объектно-ориентированных классов и свойств. Вместо традиционного подхода Entity Framework сопоставляет реляционные таблицы, столбцы и ограничения внешнего ключа в логических моделях с сущностями и связями в концептуальных моделях. Это позволяет достичь большей гибкости при определении объектов и оптимизации логической модели. Средства модели данных сущности создают расширяемые классы данных на основе концептуальной модели. Эти классы являются разделяемыми классами, которые могут быть расширены с помощью дополнительных членов, добавленных разработчиком. По умолчанию классы, сформированные для определенной концептуальной модели, являются производными от базовых классов, предоставляющих службы для материализации сущностей в виде объектов, а также для отслеживания и сохранения изменений. Разработчики могут использовать эти три класса для работы с сущностями и связями как с объектами, относящимися к ассоциациям. Разработчики смогут также настраивать классы, сформированные для концептуальной модели. Дополнительные сведения см. в разделе Работа с объектами.

Доступ к данным сущности и их изменение

Платформа Entity Framework — это не просто еще одно средство объектно-реляционного сопоставления. Ее цель — предоставить приложениям возможность чтения и изменения данных, представленных в виде сущностей и связей в концептуальной модели. Entity Framework использует сведения в файлах модели и сопоставления для преобразования запросов объектов к типам сущностей, представленным в концептуальной модели, в запросы, относящиеся к источнику данных. Результаты запроса материализуются в объекты, которыми управляет Entity Framework. Платформа Entity Framework предоставляет следующие способы запроса концептуальной модели и возврата объектов:

  • LINQ to Entities. Обеспечивает поддержку запросов LINQ для выполнения запросов к типам сущности, которые определены в концептуальной модели. Дополнительные сведения см. в разделе LINQ to Entities.

  • Entity SQL. Независимый от хранения диалект SQL, который работает непосредственно с сущностями в концептуальной модели и поддерживает концепции модели данных сущностей. Entity SQL используется как с запросами объектов, так и с запросами, которые выполняются с помощью поставщика EntityClient. Дополнительные сведения см. в статье Общие сведения о Entity SQL.

Платформа Entity Framework включает поставщик данных EntityClient. Этот поставщик управляет подключениями, преобразует запросы сущностей в запросы, относящиеся к источнику данных, и возвращает средство чтения данных, которое Entity Framework использует для материализации данных сущности в объекты. Если материализация объектов не требуется, поставщик EntityClient также можно использовать как стандартный поставщик данных ADO.NET , позволяя приложениям выполнять запросы Entity SQL и использовать возвращаемое средство чтения данных только для чтения.

Дополнительные сведения см. в разделе Поставщик EntityClient для Entity Framework.

На следующей схеме показана архитектура, применяемая в платформе Entity Framework для доступа к данным.

Инструменты модели сущностей могут создать класс, производный от System.Data.Objects.ObjectContext или System.Data.Entity.DbContext представляющий контейнер сущностей в концептуальной модели. Контекст объекта предоставляет средства для отслеживания изменений и управления идентификаторами, параллелизмом и связями. Этот класс представляет также доступ к методу SaveChanges, который записывает результаты вставки, обновления и удаления данных в источник данных. Подобно запросам, эти изменения производятся либо командами, автоматически сформированными системой, либо хранимыми процедурами, указанными разработчиком.

Поставщики данных

Поставщик EntityClient расширяет модель поставщика ADO.NET , предоставляя доступ к данным с точки зрения концептуальных сущностей и связей. Он выполняет запросы, использующие Entity SQL. Entity SQL предоставляет базовый язык запросов, который позволяет EntityClient взаимодействовать с базой данных. Дополнительные сведения см. в разделе Поставщик EntityClient для Entity Framework.

Платформа Entity Framework включает обновленный поставщик данных SqlClient, который поддерживает канонические деревья команд. Дополнительные сведения см. в статье SqlClient для Entity Framework.

Средства модели данных сущности

Вместе со средой выполнения Entity Framework Visual Studio включает средства сопоставления и моделирования. Дополнительные сведения см. в разделе Моделирование и сопоставление.

Подробнее

Дополнительные сведения о Entity Framework см. в следующих разделах:

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

Терминология Entity Framework . Определяет многие термины, которые представлены моделью данных сущности и Entity Framework и используются в документации по Entity Framework.

Ресурсы Entity Framework . Содержит ссылки на концептуальные разделы, а также ссылки на внешние разделы и ресурсы для создания приложений Entity Framework.

См. также раздел

  • ADO.NET Entity Framework

Введение в Entity Framework 6

Данное руководство устарело. Актуальное руководство: Руководство по Entity Framework Core

Последнее обновление: 31.10.2015

Entity Framework представляет специальную объектно-ориентированную технологию на базе фреймворка .NET для работы с данными. Если традиционные средства ADO.NET позволяют создавать подключения, команды и прочие объекты для взаимодействия с базами данных, то Entity Framework представляет собой более высокий уровень абстракции, который позволяет абстрагироваться от самой базы данных и работать с данными независимо от типа хранилища. Если на физическом уровне мы оперируем таблицами, индексами, первичными и внешними ключами, но на концептуальном уровне, который нам предлагает Entity Framework, мы уже работает с объектами.

Первая версия Entity Framework — 1.0 вышла еще в 2008 году и представляла очень ограниченную функциональность, базовую поддержку ORM (object-relational mapping — отображения данных на реальные объекты) и один единственный подход к взаимодействию с бд — Database First. С выходом версии 4.0 в 2010 году многое изменилось — с этого времени Entity Framework стал рекомендуемой технологией для доступа к данным, а в сам фреймворк были введены новые возможности взаимодействия с бд — подходы Model First и Code First.

Дополнительные улучшения функционала последовали с выходом версии 5.0 в 2012 году. И наконец, в 2013 году был выпущен Entity Framework 6.0, обладающий возможностью асинхронного доступа к данным.

Центральной концепцией Entity Framework является понятие сущности или entity. Сущность представляет набор данных, ассоциированных с определенным объектом. Поэтому данная технология предполагает работу не с таблицами, а с объектами и их наборами.

Любая сущность, как и любой объект из реального мира, обладает рядом свойств. Например, если сущность описывает человека, то мы можем выделить такие свойства, как имя, фамилия, рост, возраст, вес. Свойства необязательно представляют простые данные типа int, но и могут представлять более комплексные структуры данных. И у каждой сущности может быть одно или несколько свойств, которые будут отличать эту сущность от других и будут уникально определять эту сущность. Подобные свойства называют ключами.

При этом сущности могут быть связаны ассоциативной связью один-ко-многим, один-ко-одному и многие-ко-многим, подобно тому, как в реальной базе данных происходит связь через внешние ключи.

Отличительной чертой Entity Framework является использование запросов LINQ для выборки данных из БД. С помощью LINQ мы можем не только извлекать определенные строки, хранящие объекты, из бд, но и получать объекты, связанные различными ассоциативными связями.

Другим ключевым понятием является Entity Data Model. Эта модель сопоставляет классы сущностей с реальными таблицами в БД.

Entity Data Model состоит из трех уровней: концептуального, уровень хранилища и уровень сопоставления (маппинга).

На концептуальном уровне происходит определение классов сущностей, используемых в приложении.

Уровень хранилища определяет таблицы, столбцы, отношения между таблицами и типы данных, с которыми сопоставляется используемая база данных.

Уровень сопоставления (маппинга) служит посредником между предыдущими двумя, определяя сопоставление между свойствами класса сущности и столбцами таблиц.

Таким образом, мы можем через классы, определенные в приложении, взаимодействовать с таблицами из базы данных.

Способы взаимодействия с БД

Entity Framework предполагает три возможных способа взаимодействия с базой данных:

  • Database first: Entity Framework создает набор классов, которые отражают модель конкретной базы данных

  • Model first: сначала разработчик создает модель базы данных, по которой затем Entity Framework создает реальную базу данных на сервере.

  • Code first: разработчик создает класс модели данных, которые будут храниться в бд, а затем Entity Framework по этой модели генерирует базу данных и ее таблицы

СодержаниеВперед

Начало работы с Entity Framework 6 — EF6

Редактировать

Твиттер LinkedIn Фейсбук Электронная почта

  • Статья
  • 2 минуты на чтение

Это руководство содержит набор ссылок на избранные статьи документации, пошаговые руководства и видеоролики, которые помогут вам быстро приступить к работе.

Основы

  • Получить Entity Framework

    Здесь вы узнаете, как добавить Entity Framework в свои приложения, и, если вы хотите использовать конструктор EF, убедитесь, что он установлен в Visual Studio.

  • Создание модели: Code First, конструктор EF и рабочие процессы EF

    Вы предпочитаете писать код модели EF или рисовать блоки и линии? Собираетесь ли вы использовать EF для сопоставления ваших объектов с существующей базой данных или хотите, чтобы EF создал базу данных, адаптированную для ваших объектов? Здесь вы узнаете о двух разных подходах к использованию EF6: EF Designer и Code First. Обязательно следите за обсуждением и смотрите видео о разнице.

  • Работа с DbContext

    DbContext — это первый и самый важный тип EF, который вам нужно научиться использовать. Он служит панелью запуска для запросов к базе данных и отслеживает изменения, которые вы вносите в объекты, чтобы их можно было сохранить обратно в базу данных.

  • Задать вопрос

    Узнайте, как получить помощь от экспертов и поделитесь своими ответами с сообществом.

  • Пожертвовать

    Entity Framework 6 использует открытую модель разработки. Узнайте, как вы можете помочь сделать EF еще лучше, посетив наш репозиторий GitHub.

Ресурсы Code First

  • Code First для существующего рабочего процесса базы данных
  • Первый код для нового рабочего процесса базы данных
  • Сопоставление перечислений с использованием Code First
  • Сопоставление пространственных типов с помощью Code First
  • Написание пользовательского кода для первых условных обозначений
  • Использование конфигурации Code First Fluent с Visual Basic
  • Первые миграции кода
  • Первые миграции кода в командных средах
  • Автоматическая первая миграция кода (больше не рекомендуется)
  • Первый рабочий процесс базы данных
  • Модель первого рабочего процесса
  • Сопоставление перечислений
  • Отображение пространственных типов
  • Отображение наследования таблицы для каждой иерархии
  • Сопоставление наследования таблицы по типу
  • Сопоставление хранимых процедур для обновлений
  • Сопоставление хранимых процедур для запроса
  • Разделение сущности
  • Разделение таблицы
  • Определение запроса (дополнительно)
  • Табличные функции (дополнительно)

Другие ресурсы

  • Асинхронный запрос и сохранение
  • Привязка данных с помощью WinForms
  • Привязка данных с помощью WPF
  • Отключенные сценарии с самоотслеживающими объектами (это больше не рекомендуется)

Обратная связь

Просмотреть все отзывы о странице

Что такое C# Entity Framework? Полное руководство

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

Что такое Entity Framework C#?

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

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

Для чего используется Entity Framework в C#?

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

Entity Framework используется в следующих сценариях.

  • Создайте веб-приложение MVC.
  • Настройте стиль сайта.
  • Установить Entity Framework 6.
  • Создайте модель данных.
  • Создайте контекст базы данных.
  • Инициализировать БД с тестовыми данными.
  • Настройте EF 6 для использования LocalDB.
  • Создать контроллер и представления

Возможности C# Entity Framework

  • Entity Framework — это облегченная и расширяемая технология объектно-реляционного сопоставления (ORM). В соответствии с индивидуальными потребностями каждого проекта разработчики могут добавлять или удалять определенные компоненты из системы ORM.
  • Entity Framework поддерживает несколько платформ, таких как Windows, Linux и macOS.
  • Entity Framework поддерживает как реляционные, так и нереляционные источники данных. Entity Framework эффективно работает с широко используемыми базами данных, такими как SQL Server, SQL Server Compact, SQLite, PostgreSQL, Azure Table Storage и IBM Data Server.
  • Entity Framework упрощает для программистов выполнение операций создания, чтения, обновления и удаления (CRUD) за счет поддержки баз данных. Это также упрощает разработчикам выполнение модульного тестирования за счет хранения таблиц в памяти.
  • C# Entity Framework позволяет нам настраивать модель Entity Framework с помощью свойств аннотации данных или API Fluent, чтобы изменить соглашения по умолчанию.
  • C# Entity Framework предоставляет ряд команд миграции, которые можно запустить из консоли диспетчера пакетов NuGet или интерфейса командной строки. Для создания или управления базовой базой данных Schema

Подходы к разработке Entity Framework

В основном существует три подхода к созданию фреймворков сущностей:

1. Код первого подхода

Этот подход сначала нацелен на несуществующую базу данных, а затем создает ее. Это позволяет разработчикам определять и создавать новые модели с помощью классов C# и .NET. В этом подходе вы можете использовать пустые базы данных и добавлять таблицы.

2. Модель первого подхода

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

3. Первый подход к базе данных

Этот подход является альтернативой методам «сначала код» и «сначала модель». Он создает модель и коды из базы данных в проекте и связывает их с базой данных и разработчиком.

Основной рабочий процесс в Entity Framework

  1. Во-первых, вам нужно определить модель. Определение модели состоит из классов предметной области, классов контекста, производных от DbContext, и конфигурации.
  2. Чтобы вставить данные, вам нужно добавить объект домена для контекста и вызвать метод savechanges(). Вам нужно использовать команду вставки и выполнить ее в базе данных.
  3. Для чтения данных будет полезно выполнить запрос LINQ-to-Entities на предпочитаемом вами языке, таком как C# или .NET. EF API преобразует запрос в запрос SQL, который будет передан в базу данных для выполнения.
  4. Для редактирования, обновления, удаления и удаления объектов сущностей следует вызывать метод savechanges(). EF API создаст и выполнит команды в базе данных.

Архитектура Entity Framework

Архитектура Entity Framework состоит из следующих компонентов:

  • Модель данных сущности
  • LINQ для сущностей
  • Сущность SQL
  • Уровень объектных служб
  • Поставщик данных Entity Client
  • Поставщик данных ADO. Net

Модель данных сущности

Модель данных объекта (EDM) состоит из трех частей:

Концептуальная модель: Концептуальная модель представляет классы модели (также известные как сущности) и их отношения. Это не зависит от архитектуры таблицы базы данных. Он описывает ваши бизнес-объекты и их отношения в файлах XML.

Модель сопоставления: Модель сопоставления указывает, как концептуальная модель преобразуется в модель хранения. Модель Mapping сопоставляет концептуальный и логический уровни (уровень хранения). Он объединяет бизнес-объекты и отношения на абстрактном уровне с таблицами и отношениями на логическом уровне.

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

LINQ для сущностей

Запросы к объектной модели записываются с использованием языка запросов LINQ-to-Entities (L2E). Возвращаются сущности, определенные в концептуальной модели.

Сущность SQL

Внутри эти запросы E-SQL преобразуются в запросы SQL, зависящие от хранилища данных. Запросы E-SQL преобразуются в языки запросов для конкретных хранилищ данных, такие как T-SQL, через Entity Framework (Transact SQL).

Уровень объектных служб

Уровень Object Services включает в себя контекст объекта, представляющий сеанс взаимодействия между приложениями и источником данных. Фундаментальная цель контекста объекта заключается в выполнении различных операций, таких как добавление и удаление экземпляров вещей и запрос к базе данных для сохранения измененного состояния.

Поставщик данных Entity Client

Уровень Object Services включает в себя контекст объекта, представляющий сеанс взаимодействия между приложениями и источником данных. Фундаментальная цель контекста объекта заключается в выполнении различных операций, таких как добавление и удаление экземпляров вещей и запрос к базе данных для сохранения измененного состояния.

Поставщик данных ADO.Net

Эти зависящие от источника поставщики абстрагируют интерфейсы ADO.NET, используемые для подключения к базе данных при программировании в соответствии с концептуальной схемой. Он использует дерево команд для преобразования стандартных языков SQL, таких как LINQ, в собственные выражения SQL, которые затем выполняются в данной системе СУБД.

Установка EF

  • В меню «Инструменты» выберите «Диспетчер пакетов NuGet», а затем выберите «Консоль диспетчера пакетов».
  • Введите следующую команду в окне консоли диспетчера пакетов:

Пакет установки EntityFramework

Контекстный класс в Entity Framework

Это самый важный класс для работы с EF 6 или EF Core. Он помогает выполнять команды создания, чтения, обновления и удаления в схеме базы данных. Это производный класс в Entity Framework. Он также используется для настройки классов домена, сопоставления баз данных, отслеживания изменений и хранения кеша.

с использованием System.Data.Entity;

открытый класс BankAccContext : DbContext

{

    публичный BankAccContext()

    {

    }

    // Сущности       

    public DbSet Accountholder { get; набор; }

    public DbSet Accountnumber { get; набор; }

    public DbSet Accounttype { get; набор; }

}

Что такое сущность в Entity Framework?

Сущность — это класс в Entity Framework, который сопоставляет таблицы базы данных.

EF API может сопоставлять каждую сущность с таблицами и каждое свойство сущности со столбцом в базе данных.

Сущности в основном состоят из двух типов в структуре сущностей:

1. Скалярное свойство

Скалярные свойства — это свойства, которые являются примитивными. Он отображает столбец в таблице базы данных, в которой хранятся данные. Например, идентификатор учащегося, имя учащегося, класс являются скалярным свойством сущности учащегося.

2. Навигационное свойство

Это свойство отвечает за отношение одного объекта к другому. Существует два типа свойств навигации:

i) Свойство справочной навигации

Когда у сущности есть свойство другого типа свойства сущности, оно называется ссылочным навигационным свойством. Он указывает на единую сущность, но представляет множественность одного.

ii) Коллективная навигационная собственность

Когда у сущности есть свойство универсального типа коллекции, оно называется коллективным свойством навигации. Он имеет множественность многих.

Типы сущностей в Entity Framework

В структуре сущностей есть два типа сущностей:

1. Объекты POCO (обычные старые объекты CLR)

Это класс сущностей, который не зависит ни от какого базового класса, специфичного для фреймворка. Это обычный класс .NET CLR, поэтому он называется «Обычные старые объекты CLR». Он поддерживает множество операций, таких как обновление, создание и удаление, которые генерируются моделью данных сущности.

2. Динамические прокси-объекты (POCO-прокси)

Объекты динамического прокси являются классами времени выполнения и обертывают объект POCO. Эти сущности представляют собой классы ленивой загрузки. Он поддерживается только EF 6; EF Core 2.0 пока не поддерживает его.

EF API отвечает за поддержание состояний сущностей на протяжении всего их жизненного цикла. Каждый объект имеет состояние в соответствии с операцией, выполняемой классом контекста. Состояние объекта может быть представлено перечислением System.Data.Entity.EntityState в EF 6.

Сохранение в Entity Framework

В структуре сущностей существует два типа сценариев сохраняемости:

1. Подключенные сценарии

В этом сценарии один и тот же класс контекста используется для извлечения и сохранения сущностей. Он отслеживает все базы данных в течение всего жизненного цикла. Это полезно для баз данных для той же сети.

2. Отключенные сценарии

В этом сценарии для извлечения и сохранения данных используется другой контекст. Один экземпляр класса контекста используется для извлечения данных, а другой — для сохранения данных.

Продвигайтесь по карьерной лестнице в качестве разработчика стека MEAN с помощью программы Full Stack Web Developer — MEAN Stack Master’s Program. Зарегистрируйтесь сейчас!

Заключение

В этом руководстве по «ASP.NET Entity Framework» рассматриваются его функции и архитектура. Помимо того, что такое ASP.NET Entity framework, он также включает информацию о том, зачем ее использовать, и ее историю версий. Далее вы увидите сравнение между EF6 и EF Core.

Если вы хотите освоить разработку программного обеспечения и построить супер карьеру в этой области, запишитесь на курс веб-разработки Simplilearn PGP Full Stack. Курс проводится в сотрудничестве с Калифорнийским технологическим институтом.