Учебники

Entity Framework — Первый подход к базе данных

В этой главе мы узнаем о создании модели данных сущности с подходом Database First.

  • Подход Database First предоставляет альтернативу подходам Code First и Model First модели Entity Data. Он создает коды моделей (классы, свойства, DbContext и т. Д.) Из базы данных в проекте, и эти классы становятся связующим звеном между базой данных и контроллером.

  • Первый подход к базе данных создает структуру сущности из существующей базы данных. Мы используем все другие функциональные возможности, такие как синхронизация модели / базы данных и генерация кода, так же, как мы использовали их в подходе Model First.

Подход Database First предоставляет альтернативу подходам Code First и Model First модели Entity Data. Он создает коды моделей (классы, свойства, DbContext и т. Д.) Из базы данных в проекте, и эти классы становятся связующим звеном между базой данных и контроллером.

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

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

Новый консольный проект

Шаг 1 — Давайте создадим новый консольный проект с именем DatabaseFirstDemo.

Шаг 2 — Чтобы создать модель, сначала щелкните правой кнопкой мыши ваш консольный проект в обозревателе решений и выберите Добавить → Новые элементы…

Создать модель

Шаг 3 — Выберите ADO.NET Entity Data Model из средней панели и введите имя DatabaseFirstModel в поле Имя.

Шаг 4 — Нажмите кнопку «Добавить», которая запустит диалоговое окно «Мастер модели данных объекта».

Содержание модели

Шаг 5 — Выберите EF Designer из базы данных и нажмите кнопку Далее.

Мастер Entity Model

Шаг 6 — Выберите существующую базу данных и нажмите Далее.

Существующая база данных

Шаг 7 — Выберите Entity Framework 6.x и нажмите «Далее».

Entity Framework

Шаг 8 — Выберите все таблицы Views и хранимую процедуру, которую вы хотите включить, и нажмите Finish.

Вы увидите, что модель Entity и классы POCO генерируются из базы данных.

Классы поко

Теперь давайте извлечем всех студентов из базы данных, написав следующий код в файле program.cs.

using System;
using System.Linq;

namespace DatabaseFirstDemo {

   class Program {

      static void Main(string[] args) {

         using (var db = new UniContextEntities()) {

            var query = from b in db.Students
               orderby b.FirstMidName select b;

            Console.WriteLine("All All student in the database:");

            foreach (var item in query) {
               Console.WriteLine(item.FirstMidName +" "+ item.LastName);
            }

            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
         }
      }
   }
}

Когда вышеуказанная программа будет выполнена, вы получите следующий вывод:

All student in the database:
Ali Khan
Arturo   finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...

Когда вышеуказанная программа будет выполнена, вы увидите имена всех студентов, которые были ранее внесены в базу данных.

Мы рекомендуем выполнить вышеприведенный пример пошагово для лучшего понимания.