Entity Framework Database First

Entity Framework Database First

Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать про первый подход, который используется в Entity Framework — Database First.Из названия понятно, что вначале у нас есть база данных. На основе базы данных у нас создаётся объектная модель (классы).

Давайте с нуля в Visual Studio создадим простую базу данных. База будет состоять из стран и их столиц. Далее на основе данной базы, используя подход Database First, создадим объектную модель и выведем на экран данные из базы.

Выбираем слева "Обозреватель серверов" — "Подключения данных" — "Добавить подключение". Если у вас данной вкладки нет, то в обозреватель серверов можно зайти через пункт меню "Вид" (либо сочетания клавиш "Ctrl + Alt + S"):

Database First в EF

Мы будем работать с локальной базой данных localdb, которая встроена в Visual Studio:

Database First в EF

Вводим имя "Countries". Так как у нас такой базы нет, то Visual Studio спросит о попытке её создать:

Database First в EF

Теперь в обозревателе серверов мы видим, что подключились к базе данных:

Database First в EF

Пока что у нас нет ни одной таблицы. Давайте создадим таблицу. Делать всё будем через редактор Visual Studio. Щёлкаем правой кнопкой мыши по "Таблицы" — "Добавить таблицу". Заполняем таблицу, как на скриншоте ниже. В конце нажимаем кнопку "Обновить", чтобы изменения в базе данных сохранились:

Database First в EF

Давайте теперь внесём данные в нашу таблицу:

Database First в EF

Занесите в таблицу следующие данные:

Database First в EF

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

Добавляем в наш проект новый элемент:

Database First в EF

Модель ADO.NET EDM:

Database First в EF

Далее выбираем "Конструктор EF из базы данных":

Database First в EF

Далее выбираем подключение, которое будет использоваться:

Database First в EF

Далее добавляем объекты, которые необходимо включить в нашу модель:

Database First в EF

При нажатии на кнопку "Готово" происходит магия Entity Framework, в результате которой будет создана модель и классы:

Database First в EF
Database First в EF

Обратим внимание на класс "CountriesEntities", который находится в файле "MyModel.Context.cs":

Database First в EF

Это некое объектно-ориентированное представление базы данных или, по-другому, контекст. Tables — это и есть наша таблица в базе данных. Если бы у нас было несколько таблиц, то все они были бы здесь. Тип у них был бы DbSet<>.

name=CountriesEntities — это имя нашего подключения.

Контекст хранит все сущности из базы данных.

Теперь переходим к самому интересному (то, ради чего мы всё это проделали). Давайте выведем на экран информацию из базы данных:

static void Main(string[] args)
    {
      // Создаём объект класса контекста
      CountriesEntities myCountriesContext = new CountriesEntities();
      // Получим список всех записей, который хранятся в нашей таблице
      List<Table> myCountries = myCountriesContext.Tables.ToList();
      // Перебираем наши записи
      foreach (Table record in myCountries)
      {
        Console.WriteLine("Country: {0} | Capital: {1}", record.Country, record.Capital);
      }
      Console.ReadLine();
    }

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

В данной статье вы научились создавать локальную базу данных в Visual Studio, а также познакомились с подходом Database First.

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *