Entity Framework Model First
Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать о подходе Entity Framework — Model First. В данном подходе у нас нет ни базы, ни классов. У нас будет только дизайнер, в котором мы визуально спроектируем модель.
Создадим пустой проект консольного приложения. Не забываем через менеджер пакетов NuGet добавить Entity Framework. Далее добавим в наш проект модель ADO.NET EDM:
Выбираем "Пустая модель конструктора EF":
Далее мы увидим, что создалась пустая модель:
Добавим в дизайнер несколько сущностей. Делается это в панели элементов:
Можно перетащить на дизайнер, либо 2 раза щёлкнуть мышью. После добавления у нас появится одна сущность. Добавим нашей сущности несколько свойств. По умолчанию все свойства создаются типа string. Тип свойства можно изменить, щёлкнув правой кнопкой по мыши и выбрав пункт меню "Свойства". Как у нас теперь выглядит сущность:
На основе данной модели мы теперь сможем создать базу данных и добавить классы.
Сохраняем модель. Далее правой кнопкой мыши в любой области дизайнера — "Сформировать базу данных на основе модели". Базу данных я создал новую, можно взять из предыдущего примера:
Далее на языке DDL (Data Definition Language — язык описания данных) формируется запрос:
При нажатии "Готово" будет сгенерирован скрипт, который необходимо будет выполнить ("Ctrl + Shift + E"):
Сохраним нашу модель.
Видим, что сгенерировался класс нашей сущности и класс контекста:
База данных также успешно создалась:
В нашей таблице пока отсутствуют данные. Давайте добавим их с помощью кода, а затем выведем их:
static void Main(string[] args) { // Создаём объект контекста MyModelContainer context = new MyModelContainer(); // Добавляем данные context.PersonsSet.Add(new Persons { Name = "Alex", Age = 26 }); context.PersonsSet.Add(new Persons { Name = "Ivan", Age = 19 }); // Сохраняем изменения в контексте // Если этого не сделать, то предыдущие строки не имеют смысла, т.к // в базу ничего не запишется. context.SaveChanges(); // Выводим на экран наши данные List<Persons> persons = context.PersonsSet.ToList(); foreach (Persons person in persons) { Console.WriteLine("ID: {0}. Name: {1} | Age: {2}", person.Id, person.Name, person.Age); } Console.ReadLine(); }
В данном уроке вы увидели, как можно легко и быстро с помощью дизайнера построить базу данных и классы.
В данной статье вы познакомились с подходом Entity Framework — Model First, а также научились добавлять данные в базу с помощью кода.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.