Start Debugging

Тег: dotnet-11

119 статей · Страница1из12

EF Core ExecuteUpdate против загрузки сущностей и SaveChanges: что выбрать?
Руководство по выбору и реальный benchmark для EF Core 11: используйте ExecuteUpdate для множественных записей по предикату, а путь загрузить-затем-SaveChanges только тогда, когда нужен отслеживатель изменений, перехватчики или сложный граф объектов.
Миграция с EF Core 6 на EF Core 11: критические изменения, которые действительно бьют
Руководство по миграции с фиксированными версиями, с EF Core 6.0 на EF Core 11.0, проходящее через критические изменения EF7, 8, 9, 10 и 11, которые ломают реальные приложения: Encrypt=True, Contains через OPENJSON, PendingModelChangesWarning, нативный столбец json и разделение SqlClient 7.0.
EF Core 11 Preview 4: Хватит заново вводить --project и --startup-project с .config/dotnet-ef.json
EF Core 11 Preview 4 позволяет инструменту dotnet ef читать значения опций по умолчанию из файла .config/dotnet-ef.json, так что многопроектные решения больше не вынуждают передавать --project и --startup-project в каждой команде.
Как использовать разделение запросов, чтобы избежать декартова взрыва в EF Core 11
Когда вы делаете Include двух одноуровневых коллекций, EF Core 11 возвращает декартово произведение, и число строк взрывается. Вот как это исправляет AsSplitQuery, как включить его глобально и какие тонкости согласованности и упорядочивания нужно учитывать.
Как безопасно выполнять fire-and-forget работу в ASP.NET Core с помощью BackgroundService
Вызов Task.Run из контроллера теряет работу при остановке, проглатывает исключения и захватывает уже освобождённые scoped-сервисы. Безопасный паттерн - ограниченная очередь Channel, которую опустошает BackgroundService, открывая новый scope для каждой единицы работы и завершая выполняемую работу в StopAsync.
Как использовать ExecuteUpdate и ExecuteDelete для массовых записей в EF Core 11
Полное руководство по ExecuteUpdate и ExecuteDelete в EF Core 11: какой SQL они генерируют, ловушка трекера изменений, которая молча перезаписывает вашу массовую запись, транзакции, контроль конкурентного доступа через число затронутых строк и сеттеры через делегат из EF Core 10, позволяющие собирать условные обновления обычными инструкциями if.
Как использовать scoped-сервисы внутри BackgroundService в ASP.NET Core 11
BackgroundService является синглтоном, поэтому не может напрямую внедрить scoped-сервис вроде DbContext. Внедрите IServiceScopeFactory, открывайте один scope на единицу работы через CreateAsyncScope, разрешайте сервис внутри него и освобождайте scope по завершении работы.
Вперёд