Start Debugging

Тег: ef-core-11

32 статей · Страница1из4

Как генерировать первичный ключ из последовательности базы данных при вставке в EF Core 11
Переводим ключ с IDENTITY на последовательность SQL Server в EF Core 11 через UseSequence: точный SQL, который выдаёт EF, почему явные значения ключа вдруг работают без IDENTITY_INSERT, последовательность bigint для колонки int и пропуски, которые нужно закладывать в проект.
Как вызвать хранимую процедуру и отобразить её результаты в EF Core 11
Используйте FromSql на DbSet, когда процедура возвращает полные строки сущности, Database.SqlQuery<T> при проекции и ExecuteSql, когда она не возвращает ничего. Никогда не присоединяйте оператор LINQ к EXEC и не читайте выходной параметр до того, как ридер будет освобождён.
Как переименовать таблицу в миграции EF Core 11 без потери данных
EF Core генерирует RenameTable, когда вы меняете имя таблицы, но DropTable плюс CreateTable, когда вы переименовываете класс сущности. Здесь разобрано, как различать эти два случая, приём с ToTable, который делает переименование класса бесплатным, и баг переименования столбцов, который молча меняет ваши данные местами.
Как реализовать оптимистичную конкурентность с токеном 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 применяйте только когда к этому вынуждает внешнее ограничение.
Вперёд