1. Обсудите словами то, что вы узнали на уроке сегодня или на этой неделе.

Я узнал, как консольное приложение (и консоль диспетчера пакетов) можно использовать для предварительного заполнения базы данных начальными данными, а также то, что, если бы мы не использовали Sqlite, его можно было бы использовать для переноса моделей базы данных в модель обновления. Мне также стало любопытно, какие еще команды есть у dotnet и что они могут делать для управления проектом.

2. В чем разница между Entity Framework и LINQ to SQL?

Начнем с того, что платформа Entify превзошла Linq to Sql в качестве де-факто ORM (отображение отношений объектов). Linq to SQL работает только с серверами SQL, тогда как Entity Framwork может поддерживать несколько баз данных, если у них есть совместимый поставщик ADO.Net. Entity Framework может использовать подход «сначала код» и создавать базу данных на основе модели класса. Entity Framework поддерживает слабосвязанный контекст, поэтому вы можете использовать тестовые службы и базы данных. Платформа сущностей добавила сопоставление отношений, позволяющее связать несколько сущностей вместе. Платформа Entity поддерживает сложный тип, а Linq to SQL — нет. Entity Framework создает один файл расширения, где Linq to SQL создает 3 для представления схемы. Entity framework действительно требует больше времени на разработку, но также имеет гораздо больше функций и возможностей, которые можно добавить, которых не хватает Linq to SQL.

3. Где мы используем виртуальные классы в моделях Entity Framework DbContext?

Он используется для реализации ленивой загрузки. Помечая свойство как виртуальное, мы создаем прокси-объект, который переопределяет виртуальные свойства реализацией, которая загружает объект, на который ссылаются, при первом доступе к нему.

4. В чем смысл Pluralize и Singularize в Entity Framework?

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

5. Что нового в Entity Framework 6?

Первая совершенно новая функция в EF6 — это хранимые процедуры для CUD. Теперь вы можете использовать хранимые процедуры, используя подход «сначала код». Когда вы создаете хранимые процедуры, они используются при вызове SaveChanges для обновления базы данных. Во-вторых, вы можете изменить соглашения и значения по умолчанию, используемые инфраструктурой сущностей. Предположим, вы хотите назначить любое поле, которое заканчивается на «PK», в качестве первичного ключа. Теперь вы можете создавать запросы Linq, которые будут отфильтровывать их, и вы можете настроить эти поля как первичные ключи. В-третьих, вы можете перехватывать запросы ADO.NET, генерируемые инфраструктурой Entity. Вы можете отменить запросы, зарегистрировать их или изменить. Наконец, в соответствии с возможностью настройки соглашений EF, теперь вы можете настроить параметры EF, которые обычно требуют открытия файлов конфигурации приложений. Вы можете получить доступ к этим конфигурациям, унаследовав DBConfiguration от класса и добавив в него нужные изменения.