Entity Framework Code First
Всем доброго времени суток. На связи Алексей Гулынин. Продолжаем изучать Entity Framework. В данной статье я бы хотел рассказать о подходе Entity Framework — Code First. В данном подходе мы напишем класс, а на основе него сгенерируем базу данных. Напоминаю, что не нужно забывать каждый раз в новый проект добавлять библиотеки Entity Framework через менеджер пакетов Nuget.
Создаём проект и добавляем модель ADO.NET EDM и выбираем "Пустая модель Code First":

Добавим класс Person в наш проект. У класса будет 4 свойства: ID, FirstName, LastName, Age:
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
Теперь зайдём в App.config и переименуем базу данных (initial catalog). Сейчас она называется некрасиво и неинформативно:
<connectionStrings>
<add name="MyModel" connectionString="data source=(LocalDb)\v11.0;initial catalog=Entity_Framework_Code_First.MyModel;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>
Переименуем "Entity_Framework_Code_First.MyModel" в "PersonalDB".
Добавим DbSet для типа сущности Person в файле MyModel.cs. Так нужно делать для каждого типа сущностей:

Давайте добавим 2 записи в нашу таблицу, чтобы она не была пустая. В прошлой статье мы делали это через метод Add, сейчас сделаем через метод AddRange:
static void Main(string[] args)
{
MyModel context = new MyModel();
context.PersonEntities.AddRange(
new List<Person> {
new Person { FirstName = "Ivan", LastName = "Ivanov", Age = 20},
new Person { FirstName = "Petr", LastName = "Petrov", Age = 15}
}
);
context.SaveChanges();
}
При подходе Code First достаточно запустить проект, и база данных будет сгенерирована автоматически. Запустим проект и проверим, что база данных была создана через обозреватель серверов:

Данные в таблице есть:

Напоследок, хочу сказать пару слов про ещё одну разновидность подхода Code First из базы данных:

Этот подход используется в том случае, когда модель EDM не нужна. По готовой базе данных генерируется наш класс.
В данной статье вы узнали, как использовать подход Code First в Entity Framework.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.




