Entity Framework Code First

Entity Framework Code First

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

Создаём проект и добавляем модель ADO.NET EDM и выбираем "Пустая модель Code First":

Code First в EF

Добавим класс 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. Так нужно делать для каждого типа сущностей:

Code First в EF

Давайте добавим 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 в EF

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

Code First в EF

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

Code First в EF

Этот подход используется в том случае, когда модель EDM не нужна. По готовой базе данных генерируется наш класс.

В данной статье вы узнали, как использовать подход Code First в Entity Framework.

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *