Рейтинговые книги
Читем онлайн Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 3 4 5 6 7 8 9 10 11 ... 407
с таблицами

      Сопоставление "таблица на иерархию" (ТРН)

      Сопоставление "таблица на тип" (ТРТ)

     Навигационные свойства и внешние ключи

      Отсутствие свойств для внешних ключей

      Отношения "один ко многим"

      Отношения "один к одному"

      Отношения "многие ко многим" (нововведение в версии 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 ... 3 4 5 6 7 8 9 10 11 ... 407
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен бесплатно.

Оставить комментарий