Start Debugging

Тег: dotnet-11

295 статей · Страница2из30

Как согласовать запись в базу данных и загрузку в Azure Blob Storage в рамках одного запроса ASP.NET Core
Транзакции, охватывающей SQL Server и Blob Storage, не существует. Загружайте по имени, которое база данных уже знает, фиксируйте вторым шагом, компенсируйте при сбое, а окно после аварии пусть подчищает фоновая уборка. Плюс перегрузка UploadAsync, которая молча превращает условное создание в перезапись.
Как задать собственные соглашения об именовании первичных ключей, внешних ключей и индексов в миграциях EF Core 11
Переименуйте все PK_, FK_, AK_ и IX_, которые генерирует EF Core 11, с помощью одного IModelFinalizingConvention, сохраните приоритет явно заданных имён, уложитесь в ограничение длины идентификатора и избегите перестроения кластеризованного индекса, которое следующая миграция сгенерирует для существующей базы данных.
Миграция приложения EF Core с Cosmos DB после изменения экранирования генерируемых id в EF Core 11
EF Core 11 перестает экранировать '/', '\', '?' и '#' в генерируемых значениях id для Cosmos DB, поэтому документы, записанные EF Core 8-10, больше не находятся по ключу. Как понять, затронуты ли вы, когда включать переключатель EscapeIllegalCosmosIdCharacters и как безопасно переписать id с помощью транзакционного пакета.
Microsoft.Data.SqlClient vs System.Data.SqlClient в .NET 11
Используйте Microsoft.Data.SqlClient. System.Data.SqlClient объявлен устаревшим, уже выдаёт CS0618 на каждый тип, к которому вы прикасаетесь, и теряет свои .NET-ассеты, когда .NET 8 достигнет конца поддержки 2026-11-10, в тот же день, когда выходит .NET 11. Измеренный разрыв в возможностях, значение Encrypt по умолчанию, ломающее миграцию, и разделение пакета в 7.0.
Process.Run vs Process.Start в .NET 11: что выбрать?
Используйте Process.Run, когда запускаете инструмент и вас интересует только то, как он завершился: один вызов, тайм-аут, который убивает дочерний процесс, и ProcessExitStatus с сигналом. Оставьте Process.Start, когда нужен объект Process: запись в stdin, чтение вывода по мере поступления, UseShellExecute или завершение всего дерева процессов.
2026-09-16 dotnetdotnet-11jit
JIT в .NET 11 девиртуализирует обобщённые виртуальные методы, и вместе с ними исчезает выделение памяти
В статье Стивена Тоуба Performance Improvements in .NET 11 вызовы обобщённых виртуальных методов падают с 6.7 нс и 24 байт до 1.8 нс и нуля выделений. Три пул-реквеста в RyuJIT открыли инлайнинг для самой непрозрачной диспетчеризации в .NET.
Уровень совместимости SQL Server 150 или 160: что меняется в запросах EF Core 11
EF Core 11 теперь по умолчанию задаёт для UseSqlServer уровень совместимости 160, из-за чего в ваш SQL попадают LEAST, GREATEST и двухаргументные LTRIM/RTRIM, в том числе в каждом Take(n).FirstOrDefault(). Оставляйте 160 на SQL Server 2022 и новее; закрепите UseCompatibilityLevel(150), если хоть одно окружение ещё работает на SQL Server 2019.
Исправление: Could not load file or assembly 'Microsoft.Data.SqlClient, Version=7.0.0.0' после обновления EF Core
EF Core 11 скомпилирован против Microsoft.Data.SqlClient 7.0.0.0, но при восстановлении пакетов или развёртывании победила копия 6.x. Удалите старую фиксацию версии SqlClient и заново разверните весь вывод сборки.
Как асинхронно создавать и распаковывать ZIP-файлы с помощью асинхронных API ZipArchive в .NET 11
Используйте ZipFile.CreateFromDirectoryAsync, ExtractToDirectoryAsync, ZipArchive.CreateAsync и ZipArchiveEntry.OpenAsync без скрытого синхронного ввода-вывода. Замеры на .NET 11 RC 1 и .NET 10.0.12, включая баг .NET 10, который до сих пор блокирует Kestrel.
Как привязать сложный объект из строки запроса с помощью [AsParameters] в minimal API в ASP.NET Core 11
Поставьте [AsParameters] на класс или record, чтобы привязать целый фильтр из строки запроса в minimal API в ASP.NET Core 11. Разбираем значения по умолчанию, массивы, перечисления, вложенные объекты, валидацию, OpenAPI и ошибку генератора Native AOT с позиционными record.
Назад Вперёд