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



