Start Debugging

EF Core 11

60 статей · Страница4из6

Как реализовать оптимистичную конкурентность с токеном rowversion в EF Core 11

Добавляем токен конкурентности rowversion в EF Core 11: настройка через [Timestamp] и IsRowVersion, SQL, который EF действительно генерирует, перехват DbUpdateConcurrencyException, побеждает база vs побеждает клиент vs слияние, отсоединённые API с ETag и пять ловушек, которые молча отключают всю защиту.

Как применять миграции EF Core 11 в продакшене с помощью dotnet ef migrations bundle

Полное руководство по развёртыванию изменений схемы EF Core 11 через bundle миграций: сборка efbundle в CI, ловушка appsettings.json с именованными строками подключения, self-contained bundle и musl RID для Alpine, блокировка миграций начиная с EF Core 9, откат к целевой миграции и почему транзакция на миграцию не спасает на MySQL.

Комплексные типы против владеемых сущностей в EF Core 11: что выбрать?

В EF Core 11 по умолчанию используйте комплексные типы для объектов-значений и переходите на владеемые сущности только тогда, когда вам нужна отдельная таблица или коллекция, отображённая на собственные строки.

TPH vs TPT vs TPC для маппинга наследования в EF Core 11: что выбрать?

В EF Core 11 по умолчанию используйте TPH почти для любой иерархии, обращайтесь к TPC только когда вы преимущественно запрашиваете один листовой тип и бенчмарк доказывает его выигрыш, а TPT применяйте только когда к этому вынуждает внешнее ограничение.

Как настроить наследование по стратегии таблица на иерархию (TPH) в EF Core 11

TPH -- стратегия наследования по умолчанию в EF Core: одна таблица, один столбец-дискриминатор. Как настроить дискриминатор, разделять столбцы, обрабатывать nullable-свойства производных типов и обойти подводные камни в EF Core 11.

Как отобразить составной тип вместо owned-сущности в EF Core 11

Owned-сущности несут скрытый ключ и ссылочную идентичность, которые противоречат объектам-значениям. Вот как отобразить объект-значение как составной тип в EF Core 11, когда стоит переходить и какие есть подводные камни.

Как реализовать keyset-пагинацию (cursor pagination) в EF Core 11

Замените Skip/Take на WHERE, который перескакивает за последнюю увиденную строку. Сортируйте по полностью уникальному ключу, переносите значения последней строки как курсор, и EF Core 11 превратит следующую страницу в поиск по индексу вместо сканирования с OFFSET.
Назад Вперёд