Entity Framework Database First
Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать про первый подход, который используется в Entity Framework — Database First.Из названия понятно, что вначале у нас есть база данных. На основе базы данных у нас создаётся объектная модель (классы).
Давайте с нуля в Visual Studio создадим простую базу данных. База будет состоять из стран и их столиц. Далее на основе данной базы, используя подход Database First, создадим объектную модель и выведем на экран данные из базы.
Выбираем слева "Обозреватель серверов" — "Подключения данных" — "Добавить подключение". Если у вас данной вкладки нет, то в обозреватель серверов можно зайти через пункт меню "Вид" (либо сочетания клавиш "Ctrl + Alt + S"):

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

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

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

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

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

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

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

Модель ADO.NET EDM:

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

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

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

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


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

Это некое объектно-ориентированное представление базы данных или, по-другому, контекст. 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.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.



