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