Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен
Книгу Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!
Шрифт:
Интервал:
Закладка:
Сопоставление "таблица на иерархию" (ТРН)
Сопоставление "таблица на тип" (ТРТ)
Навигационные свойства и внешние ключи
Отсутствие свойств для внешних ключей
Отношения "один ко многим"
Отношения "один к одному"
Отношения "многие ко многим" (нововведение в версии EF Core 5)
Каскадное поведение
Необязательные отношения
Обязательные отношения
Соглашения, связанные с сущностями
Отображение свойств на столбцы
Аннотации данных Entity Framework
Аннотации и навигационные свойства
Интерфейс Fluent API
Отображение классов и свойств
Стандартные значения
Вычисляемые столбцы
Отношения "один ко многим"
Отношения "один к одному"
Отношения "многие ко многим"
Соглашения, аннотации данных и Fluent API — что выбрать?
Выполнение запросов
Смешанное выполнение на клиентской и серверной сторонах
Сравнение отслеживаемых и неотслеживаемых запросов
Важные функциональные средства EF Core
Обработка значений, генерируемых базой данных
Проверка параллелизма
Устойчивость подключений
Связанные данные
Энергичная загрузка
Фильтрованные включаемые данные
Энергичная загрузка с разделением запросов
Явная загрузка
Ленивая загрузка
Глобальные фильтры запросов
Глобальные фильтры запросов на навигационных свойствах
Явная загрузка с глобальными фильтрами запросов
Выполнение низкоуровневых запросов SQL с помощью LINQ
Пакетирование операторов
Принадлежащие сущностные типы
Сопоставление с функциями базы данных
Команды CLI глобального инструмента EF Core
Команды для управления миграциями
Команда add
Исключение таблиц из миграций
Команда remove
Команда list
Команда script
Команды для управления базой данных
Команда drop
Команда update
Команды для управления типами DbContext
Команда scaffold
Резюме
Глава 23
"Сначала код" или "сначала база данных"
Создание проектов AutoLot.Dal и AutoLot.Models
Создание шаблонов для класса, производного от DbContext, и сущностных классов
Переключение на подход "сначала код"
Создание фабрики экземпляров класса, производного от DbContext, на этапе проектирования
Создание начальной миграции
Применение миграции
Обновление модели
Сущности
Класс BaseEntity
Принадлежащий сущностный класс Person
Сущность Car(Inventory)
Сущность Customer
Сущность Make
Сущность CreditRisk
Сущность Order
Сущность SeriLogEntry
Класс ApplicationDbContext
Обновление кода Fluent API
Сущность SeriLogEntry
Сущность CreditRisk
Сущность Customer
Сущность Make
Сущность Order
Сущность Car
Специальные исключения
Переопределение метода SaveChanges()
Обработка событий DbContext и ChangeTracker
Создание миграции и обновление базы данных
Добавление представления базы данных и хранимой процедуры
Добавление класса MigrationHelpers
Обновление и применение миграции
Добавление модели представления
Добавление класса модели представления
Добавление класса модели представления к ApplicationDbContext
Добавление хранилищ
Добавление базового интерфейса IRepo
Добавление класса BaseRepo
Реализация метода SaveChanges()
Реализация общих методов чтения
Реализация методов добавления, обновления и удаления
Интерфейсы хранилищ, специфичных для сущностей
Интерфейс хранилища данных об автомобилях
Интерфейс хранилища данных о кредитных рисках
Интерфейс хранилища данных о заказчиках
Интерфейс хранилища данных о производителях
Интерфейс хранилища данных о заказах
Реализация классов хранилищ, специфичных для сущностей
Хранилище данных об автомобилях
Хранилище данных о кредитных рисках
Хранилище данных о заказчиках
Хранилище данных о производителях
Хранилище данных о заказах
Программная работа с базой данных и миграциями
Удаление, создание и очистка базы данных
Инициализация базы данных
Создание выборочных данных
Загрузка выборочных данных
Настройка тестов
Создание проекта
Конфигурирование проекта
Создание класса TestHelpers
Добавление класса BaseTest
Добавление вспомогательных методов для выполнения тестов в транзакциях
Добавление класса тестовой оснастки EnsureAutoLotDatabase
Добавление классов интеграционных тестов
Тестовые методы [Fact] и [Theory]
Выполнение тестов
Запрашивание базы данных
Состояние сущности
Запросы LINQ
Выполнение запросов LINQ
Получение всех записей
Фильтрация записей
Сортировка записей
Сортировка записей в обратном порядке
Извлечение одиночной записи
Использование First()/FirstOrDefault()
Использование Last()/LastOrDefault()
Использование Single()/SingleOrDefault()
Глобальные фильтры запросов
Отключение глобальных фильтров запросов
Фильтры запросов для навигационных свойств
Энергичная загрузка связанных данных
Разделение запросов к связанным данным
Фильтрация связанных данных
Явная загрузка связанных данных
Явная загрузка связанных данных с фильтрами запросов
Выполнение запросов SQL с помощью LINQ
Методы агрегирования
Any() и All()
Получение данных из хранимых процедур
Создание записей
Состояние сущности
Добавление одной записи
Добавление одной записи с использованием метода Attach()
Добавление нескольких записей одновременно
Соображения относительно столбца идентичности при добавлении записей
Добавление объектного графа
Обновление записей
Состояние сущности
Обновление отслеживаемых сущностей
Обновление неотслеживаемых сущностей
Проверка параллелизма
Удаление записей
Состояние сущности
Удаление отслеживаемых сущностей
Удаление неотслеживаемых сущностей
Перехват отказов каскадного удаления
Проверка параллелизма
Резюме
Часть VIII
Глава 24
Побудительные причины создания WPF
Унификация несходных API-интерфейсов
Обеспечение разделения обязанностей через XAML
Обеспечение оптимизированной модели визуализации
Упрощение программирования сложных пользовательских интерфейсов
Исследование сборок WPF
Роль класса Application
Построение класса приложения
Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.
Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.
- 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
- 2. Просьба отказаться от оскорблений, угроз и запугиваний.
- 3. Просьба отказаться от нецензурной лексики.
- 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.
Надеемся на Ваше понимание и благоразумие. С уважением, администратор knigkindom.ru.
Оставить комментарий
-
Гость Анастасия28 июль 20:09 Анастасия, спасибо. Спасибо за этот мир. Спасибо за эмоции, за ночи без сна за книгой. Спасибо. ... Крайние земли - Анастасия Владимировна Лик
-
Гость Светлана26 июль 20:11 Очень понравилась история)) Необычная, интересная, с красивым описанием природы, замков и башен, Очень переживала за счастье... Ледяной венец. Брак по принуждению - Ульяна Туманова
-
Гость Диана26 июль 16:40 Автор большое спасибо за Ваше творчество, желаю дальнейших успехов. Книга затягивает, читаешь с удовольствием и легко. Мне очень... Королевство серебряного пламени - Сара Маас