Pro Entity Framework Core 2 for ASP.NET Core MVC
✍ Scribed by Adam Freeman
- Publisher
- Apress
- Year
- 2018
- Tongue
- Russian
- Leaves
- 626
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
Model, map, and access data effectively with Entity Framework Core 2, the latest evolution of Microsoft’s object-relational mapping framework that allows developers to access data using .NET objects, and the most common data access layer used in ASP.NET Core MVC 2 projects. Best-selling author Adam Freeman explains how to get the most from Entity Framework Core 2 in MVC projects. He begins by describing the different ways that Entity Framework Core 2 can model data and the different types of databases that can be used. He then shows you how to use Entity Framework Core 2 in your own MVC projects, starting from the nuts-and-bolts and building up to the most advanced and sophisticated features, going in-depth to give you the knowledge you need. What you’ll learn: Gain a solid architectural understanding of Entity Framework Core 2 Learn how to create databases using your MVC data model Learn how to create MVC models using an existing database Learn how to use Entity Framework Core 2 to access data in an MVC application Learn how to use Entity Framework in RESTful Web Services Each topic is covered clearly and concisely and is packed with the details you need to learn to be truly effective. The most important features are given a no-nonsense in-depth treatment and chapters include common problems and details of how to avoid them. Who this book is for: This book is for ASP.NET Core MVC 2 developers who want to use Entity Framework Core 2 as the data access layer in their projects.
✦ Table of Contents
Содержание
Об авторе
I. Введение в инфраструктуру Entity Framework Core 2
1. Основы Entity Framework Core
Понятие Entity Framework Core
Об этой книге
Что необходимо знать?
Какое программное обеспечение потребуется?
Что, если вы не хотите использовать Windows?
Какова структура книги?
Где можно получить код примеров?
Резюме
2. Ваше первое приложение Entity Framework Core
Подготовка
Установка .NET Core
Установка Visual Studio 2017
Создание проекта
Предварительная настройка
Создание проекта
Создание модели данных и классов контекста
Создание контроллера и представлений
Конфигурирование Entity Framework Core
Конфигурирование строки подключения
Конфигурирование класса Startup
Подготовка базы данных
Тестирование приложения
Резюме
3. Работа с базами данных
Подготовительные шаги
Исследование базы данных
Исследование таблиц базы данных
Исследование содержимого базы данных
Введение в SQL
Запрашивание данных
Сохранение и обновление данных
Удаление данных
Соединение данных
Подготовка базы данных
Выполнение соединения
Резюме
4. SportsStore: реальное приложение работы с данными
Создание проекта
Конфигурирование инфраструктуры ASP.NET Core MVC
Добавление модели
Добавление хранилища
Добавление контроллера и представления
Добавление последних штрихов
Запуск примера приложения
Резюме
5. SportsStore: хранение данных
Подготовительные шаги
Конфигурирование инфраструктуры Entity Framework Core
Конфигурирование журнальных сообщений Entity Framework Core
Подготовка модели данных
Определение свойства первичного ключа
Создание класса контекста базы данных
Обновление реализации хранилища
Подготовка базы данных
Конфигурирование строки подключения
Конфигурирование поставщика базы данных и класса контекста
Создание базы данных
Выполнение приложения
Избегание ловушек, связанных с запросами
Ловушка, связанная с IEnumerable<T
Ловушка, связанная с дублированным запросом
Распространенные проблемы и их решения
Проблемы, связанные с созданием или доступом к базе данных
Проблемы, связанные с запрашиванием данных
Проблемы, связанные с сохранением данных
Резюме
6. SportsStore: модификация и удаление данных
Подготовительные шаги
Модификация объектов
Обновление хранилища
Обновление контроллера и создание представления
Обновление только измененных свойств
Выполнение массовых обновлений
Удаление данных
Распространенные проблемы и их решения
Объекты не обновляются или не удаляются
Исключение “Reference Not Set to an Instance of an Object” (“Не установлена ссылка на экземпляр объекта”)
Исключение “Instance of Entity Type Cannot be Tracked” (“Не удалось отследить экземпляр сущностного типа”)
Исключение “Property Has a Temporary Value” (“Свойство имеет временное значение”)
Обновления в результате дают нулевые значения
Резюме
7. SportsStore: расширение модели данных
Подготовительные шаги
Добавление отношения в модель данных
Добавление класса модели данных
Создание отношения
Обновление контекста и создание хранилища
Создание и применение миграции
Создание контроллера и представления
Заполнение базы данных категориями
Использование отношения между данными
Работа со связанными данными
Выбор категории для товара
Создание и редактирование товаров с категориями
Добавление поддержки для заказов
Создание классов модели данных
Создание хранилища и подготовка базы данных
Создание контроллеров и представлений
Сохранение данных заказа
Распространенные проблемы и их решения
Исключение “ALTER TABLE Conflicted With The FOREIGN KEY” (“ALTER TABLE конфликтует с FOREIGN KEY”)
Исключение “UPDATE Conflicted With The FOREIGN KEY” (“UPDATE конфликтует с FOREIGN KEY”)
Исключение “The Property Expression 'x =
Исключение “Type of Navigation Property <имя
Исключение “The Property <имя
Исключение “Invalid Object Name <имя
Вместо того чтобы обновляться, объекты удаляются
В представлении отображается имя класса для связанных данных
Резюме
8. SportsStore: масштабирование
Подготовительные шаги
Создание контроллера и представления для начального заполнения данными
Масштабирование представления данных
Добавление поддержки разбиения на страницы
Добавление поддержки поиска и упорядочения
Применение возможностей представления данных к категориям
Индексация базы данных
Создание и применение индексов
Распространенные проблемы и их решения
Запросы для страниц выполняются слишком медленно
Во время применения миграции, добавляющей индексы, возникает тайм-аут
Создание индекса не улучшило производительность
Резюме
9. SportsStore: интерфейс для покупателей
Подготовительные шаги
Удаление операторов, которые измеряют длительность выполнения запросов
Добавление импорта представления
Модификация модели данных
Добавление начальных данных о товарах
Подготовка базы данных
Отображение товаров для покупателя
Подготовка модели данных
Создание контроллера Store, представлений и компоновки
Тестирование контроллера Store
Добавление корзины для покупок
Включение постоянства данных сеанса
Создание класса модели Cart
Создание контроллера и представления
Тестирование процесса оформления заказа
Распространенные проблемы и их решения
Щелчок на кнопке страницы управляет ошибочным типом данных
Щелчок на кнопке страницы не имеет никакого эффекта
Исключение “Cannot Insert Explicit Value for Identity Column” (“Не удается вставить явное значение для идентичности”)
Объекты сеансов равны null
Объекты сеансов теряются или доступны несогласованно
Резюме
10. SportsStore: создание веб-службы REST
Подготовительные шаги
Создание веб-службы
Создание хранилища
Создание контроллера API
Тестирование веб-службы
Проецирование результата для исключения навигационных свойств, равных null
Включение связанных данных в ответ веб-службы
Запрашивание множества объектов
Завершение веб-службы
Модификация контроллера
Распространенные проблемы и их решения
Значения null у свойств при сохранении или обновлении объектов
Медленные запросы к веб-службе
Исключение “Cannot Insert Explicit Value for Identity Column” (“Не удается вставить явное значение для столбца идентичности”)
Резюме
II. Подробные сведения об инфраструктуре Entity Framework Core 2
11. Работа с Entity Framework Core
Создание проекта ASP.NET Core MVC
Создание класса модели данных
Конфигурирование служб и промежуточного программного обеспечения
Добавление контроллера и представления
Добавление инфраструктуры Bootstrap для стилизации CSS
Конфигурирование HTTP-порта
Выполнение примера приложения
Добавление и конфигурирование инфраструктуры Entity Framework Core
Добавление пакета NuGet
Создание класса контекста базы данных
Подготовка сущностного класса
Обновление контроллера
Конфигурирование поставщика базы данных
Конфигурирование ведения журналов Entity Framework Core
Реализация паттерна “Хранилище”
Определение интерфейса и класса реализации хранилища
Избегание ловушки, связанной с использованием интерфейса IEnumerable вместо IQueryable
Сокрытие операций над данными
Завершение примера приложения MVC
Завершение хранилища
Добавление методов действий
Обновление и добавление представлений
Резюме
12. Выполнение операций над данными
Подготовительные шаги
Запуск примера приложения
Чтение данных
Чтение объекта по ключу
Запрашивание всех объектов
Запрашивание специфических объектов
Сохранение новых данных
Назначение ключей
Обновление данных
Обновление полного объекта
Запрашивание существующих данных перед обновлением
Обновление в единственной операции базы данных
Удаление данных
Резюме
13. Работа с миграциями
Подготовительные шаги
Понятие миграций
Работа с начальной миграцией
Исследование SQL-операторов миграции
Применение миграции
Заполнение базы данных начальными данными и выполнение приложения
Создание дополнительных миграций
Добавление в модель данных еще одного свойства
Управление миграциями
Вывод списка миграций
Применение всех миграций
Обновление до специфической миграции
Удаление миграции
Переустановка базы данных
Работа с множеством баз данных
Расширение модели данных
Конфигурирование приложения
Создание и применение миграций
Программное управление миграциями
Создание класса диспетчера миграций
Создание контроллера и представления для диспетчера миграций
Конфигурирование приложения
Выполнение диспетчера миграций
Программное заполнение баз данных начальными данными
Создание инструмента заполнения начальными данными
Заполнение начальными данными во время запуска
Резюме
14. Создание отношений между данными
Подготовительные шаги
Создание отношения
Добавление навигационного свойства
Создание миграции
Запрашивание и отображение связанных данных
Обновление представления с целью отображения связанных данных
Подготовка базы данных
Создание и обновление связанных данных
Создание нового поставщика при создании нового товара
Обновление поставщика при обновлении товара
Удаление связанных данных
Создание обязательного отношения
Создание свойства внешнего ключа
Удаление базы данных и подготовка начальных данных
Обновление и заполнение начальными данными базы данных
Операция удаления при наличии обязательного отношения
Выполнение запросов для множества отношений
Обновление и заполнение начальными данными базы данных
Выполнение запросов к цепочке навигационных свойств
Резюме
15. Работа с отношениями, часть 1
Подготовительные шаги
Доступ к связанным данным напрямую
Повышение связанных данных
Доступ к связанным данным с использованием параметра типа
Укомплектование отношения между данными
Запрашивание связанных данных в отношении “один ко многим”
Работа со связанными данными в отношении “один ко многим”
Обновление связанных объектов
Создание новых связанных объектов
Изменение отношений
Резюме
16. Работа с отношениями, часть 2
Подготовительные шаги
Укомплектование отношения “один к одному”
Определение навигационного свойства
Выбор зависимого сущностного класса
Создание и применение миграции
Работа с отношениями “один к одному”
Запрашивание связанных данных в отношении “один к одному”
Создание и обновление связанных объектов
Изменение отношения “один к одному”
Определение отношений “многие ко многим”
Создание соединяющего класса
Укомплектование отношения “многие ко многим”
Подготовка приложения
Запрашивание связанных данных в отношении “многие ко многим”
Управление отношениями “многие ко многим”
Резюме
17. Формирование шаблонов для существующих баз данных
Подготовительные шаги
Существующая база данных
Подключение к серверу баз данных
Создание базы данных
Создание проекта ASP.NET Core MVC
Тестирование примера приложения
Формирование шаблонов для существующей базы данных
Выполнение процесса формирования шаблонов
Использование модели данных, сгенерированной процессом формирования шаблонов, в ASP.NET Core MVC
Реагирование на изменения в базе данных
Модификация базы данных
Обновление модели данных
Обновление класса контекста
Обновление контроллеров и представлений
Добавление возможностей постоянства модели данных
Резюме
18. Ручное моделирование баз данных
Подготовительные шаги
Создание ручной модели данных
Создание класса контекста и сущностных классов
Создание контроллера и представления
Основные соглашения для модели данных
Переопределение соглашений для модели данных
Моделирование отношений
Завершение модели данных
Использование модели данных, созданной вручную
Запрашивание данных в модели данных, созданной вручную
Обновление данных в модели данных, созданной вручную
Резюме
III. Расширенные возможности инфраструктуры Entity Framework Core 2
19. Работа с ключами
Подготовительные шаги
Создание модели данных
Создание контроллера и представлений
Конфигурирование приложения
Создание базы данных и тестирование приложения
Управление генерацией ключей
Стратегия Identity для генерации ключей
Стратегия Hi-Lo для генерации ключей
Работа с естественными ключами
Обеспечение уникальных значений для естественных ключей
Создание альтернативного ключа
Использование естественных ключей как первичных ключей
Создание составных ключей
Резюме
20. Запросы
Подготовительные шаги
Управление отслеживанием изменений для результатов, производимых запросами
Исключение индивидуальных объектов из отслеживания изменений
Модификация стандартного поведения отслеживания изменений
Использование фильтра запросов
Переопределение фильтра запросов
Запрашивание с использованием поискового шаблона
Выполнение асинхронных запросов
Явная компиляция запросов
Избегание ловушки, связанной с оценкой на стороне клиента
Генерация исключения, связанного с оценкой на стороне клиента
Резюме
21. Хранение данных
Подготовительные шаги
Указание типов данных SQL
Указание максимальной длины
Обновление базы данных
Проверка достоверности или форматирование значений данных
Избегание ловушки, связанной с выборочным обновлением поддерживающего поля
Сокрытие значений данных от части MVC приложения
Доступ к значениям теневых свойств
Включение теневых свойств в запросы
Установка стандартных значений
Отображение стандартного значения
Обнаружение параллельных обновлений
Использование маркеров параллелизма
Использование версии строки для обнаружения параллельных обновлений
Резюме
22. Удаление данных
Подготовительные шаги
Понятие ограничений удаления
Конфигурирование поведения удаления
Использование каскадного удаления
Установка внешних ключей в null
Обновление внешних ключей сервером баз данных
Обновление внешних ключей инфраструктурой Entity Framework Core
Взятие под свой контроль операции удаления
Воссоздание поведения каскадного удаления
Воссоздание поведения установки в null
Восстановление средства мягкого удаления
Резюме
23. Использование возможностей сервера баз данных
Подготовительные шаги
Использование SQL напрямую
Запрашивание с использованием SQL
Вызов хранимых процедур или других операций
Использование значений, сгенерированных сервером
Использование стандартных значений, сгенерированных сервером
Встраивание последовательных значений
Вычисление значений в базе данных
Моделирование автоматически генерируемых значений
Резюме
24. Использование транзакций
Подготовительные шаги
Стандартное поведение
Выполнение независимых изменений
Отключение автоматических транзакций
Использование явных транзакций
Включение в транзакцию других операций
Изменение уровня изоляции транзакций
Резюме
Предметный указатель
📜 SIMILAR VOLUMES
Model, map, and access data effectively with Entity Framework Core 2, the latest evolution of Microsoft’s object-relational mapping framework that allows developers to access data using .NET objects, and the most common data access layer used in ASP.NET Core MVC 2 projects. <div><br><br></div><div>B
Model, map, and access data effectively with Entity Framework Core 2, the latest evolution of Microsoft’s object-relational mapping framework. You will access data utilizing .NET objects via the most common data access layer used in ASP.NET Core MVC 2 projects. Best-selling author Adam Freeman exp
<p><b>Learn how web applications can be built efficiently using ASP.NET Core 2.0 and related frameworks</b></p><h4>Key Features</h4><ul><li>Get to grips with the new features and APIs introduced in ASP.NET Core 2.0</li><li>Leverage the MVC framework and Entity Framework Core 2 to build efficient app
<p><p>Now in its 7th edition, the best selling book on MVC is updated for ASP.NET Core MVC 2. It contains detailed explanations of the Core MVC functionality which enables developers to produce leaner, cloud optimized and mobile-ready applications for the .NET platform. This book puts ASP.NET Core M