Microsoft выпустила .NET 11 Preview 6: обзор C#, ASP.NET Core и EF Core

Microsoft выпустила шестой предварительный релиз .NET 11, который включает значительные улучшения языка C, веб-фреймворка ASP.NET Core, кроссплатформенного инструментария .NET MAUI и объектно-реляционного маппера Entity Framework Core. Preview 6 доступен для загрузки на официальном сайте .NET. Этот

Microsoft выпустила .NET 11 Preview 6: обзор C#, ASP.NET Core и EF Core

Microsoft выпустила шестой предварительный релиз .NET 11, который включает значительные улучшения языка C, веб-фреймворка ASP.NET Core, кроссплатформенного инструментария .NET MAUI и объектно-реляционного маппера Entity Framework Core. Preview 6 доступен для загрузки на официальном сайте .NET. Этот релиз привносит ряд новшеств, которые упрощают разработку, повышают производительность и безопасность приложений. Рассмотрим ключевые изменения подробнее.

Новые возможности C 15: extension indexers и union-типы

Одним из главных нововведений в C 15 стала поддержка extension indexers — механизма, позволяющего добавлять индексаторы к существующим типам без изменения их исходного кода. Это упрощает работу с коллекциями и сторонними библиотеками, делая синтаксис более естественным. Например, разработчики смогут писать myObject["key"] для пользовательских типов, не реализующих стандартный индексатор. Такая возможность особенно полезна при работе с динамическими данными или при интеграции с внешними API, где доступ к элементам по ключу является естественным способом взаимодействия.

Ещё одно важное изменение — встроенная поддержка union-типов (типов-объединений). Эта возможность позволяет объявить, что переменная может принимать одно из нескольких указанных значений, что повышает читаемость кода и снижает вероятность ошибок. Ранее для подобных сценариев приходилось использовать перечисления или иерархии классов, теперь же union-типы реализованы на уровне компилятора с проверкой полноты сопоставления (exhaustive matching). Это означает, что компилятор гарантирует, что все возможные варианты обработаны, что предотвращает баги, связанные с пропущенными случаями. Union-типы особенно полезны при обработке состояний, результатов операций или в сценариях, где переменная может принимать ограниченный набор значений.

ASP.NET Core: async validation, автоматическая CSRF-защита и OpenAPI 3.2

ASP.NET Core в Preview 6 получил асинхронную валидацию моделей. Теперь атрибуты валидации могут выполнять асинхронные операции, например, проверять уникальность email в базе данных без блокировки потока. Это улучшает производительность под нагрузкой и упрощает реализацию сложных правил валидации. Разработчики могут создавать собственные асинхронные атрибуты валидации, которые будут вызывать базу данных или внешние сервисы, не блокируя поток выполнения. Это особенно важно для высоконагруженных веб-приложений, где каждая миллисекунда на счету.

Автоматическая защита от CSRF-атак теперь включена по умолчанию для всех форм и API-эндпоинтов, использующих cookie-аутентификацию. Разработчикам больше не нужно вручную добавлять антифорджерные токены — фреймворк генерирует и проверяет их автоматически. Это снижает риск распространённых уязвимостей и упрощает конфигурацию безопасности. Важно отметить, что для API, использующих токены JWT или другие механизмы аутентификации, CSRF-защита может не требоваться, но в случае cookie-аутентификации она становится критичной.

Кроме того, ASP.NET Core теперь по умолчанию использует OpenAPI 3.2 для генерации спецификаций API. Новая версия спецификации поддерживает webhooks, улучшенную типизацию и более гибкие схемы аутентификации, что упрощает интеграцию с современными API-клиентами. Разработчики могут автоматически генерировать документацию API, которая будет соответствовать последним стандартам, и легко интегрироваться с инструментами вроде Swagger UI или ReDoc.

Какие улучшения в .NET MAUI появились в Preview 6?

В .NET MAUI элемент управления CollectionView теперь полностью поддерживается на Windows. Ранее CollectionView был доступен только на Android и iOS, а на Windows разработчики использовали ListView или сторонние решения. Добавление поддержки Windows упрощает создание единого интерфейса для всех платформ и сокращает объём платформозависимого кода. CollectionView предлагает более гибкую и производительную альтернативу ListView, поддерживая виртуализацию, группировку и различные макеты. Теперь разработчики могут использовать один и тот же код для отображения коллекций на всех целевых платформах, что ускоряет разработку и упрощает поддержку.

Entity Framework Core: долгожданная поддержка FULL OUTER JOIN

EF Core получил долгожданную поддержку FULL OUTER JOIN в LINQ-запросах. Ранее разработчикам приходилось писать raw SQL для выполнения полных внешних объединений, теперь же можно использовать стандартные LINQ-операторы, такие как join и group join, чтобы сгенерировать корректный SQL-запрос с FULL OUTER JOIN. Это особенно полезно при работе с несвязанными наборами данных, например, при синхронизации двух таблиц или при объединении данных из разных источников. FULL OUTER JOIN возвращает все строки из обеих таблиц, заполняя NULL для отсутствующих совпадений, что часто требуется в отчётах и аналитике. Теперь разработчики могут оставаться в рамках LINQ, не переключаясь на SQL, что улучшает читаемость и поддерживаемость кода.

Кого затронут изменения и как

Новые возможности C и ASP.NET Core в первую очередь полезны разработчикам веб-приложений и API, работающим с высокими требованиями к безопасности и производительности. Асинхронная валидация и автоматическая CSRF-защита сокращают время на написание boilerplate-кода и снижают вероятность ошибок. Union-типы и extension indexers облегчают моделирование предметной области и работу с данными, делая код более выразительным и безопасным.

Для .NET MAUI-разработчиков поддержка CollectionView на Windows означает более унифицированный пользовательский опыт на всех платформах. Теперь не нужно писать отдельные реализации для Windows и мобильных платформ, что экономит время и ресурсы.

Разработчики, использующие EF Core, смогут упростить запросы, которые ранее требовали ручного SQL. FULL OUTER JOIN — одна из наиболее востребованных функций, и её появление в LINQ значительно упрощает работу с реляционными данными.

Российские разработчики, активно применяющие .NET в enterprise-секторе, получат доступ к этим улучшениям в рамках стандартного цикла обновлений. Никаких региональных ограничений для Preview-версий не заявлено, поэтому можно смело загружать и тестировать Preview 6.

Что будет дальше

Microsoft планирует выпустить финальную версию .NET 11 в ноябре 2026 года. Preview 6 — один из последних предварительных релизов, после которого последуют Release Candidate и RTM. Ожидается, что в финальной версии будет улучшена производительность, исправлены ошибки и добавлена полная поддержка всех новых функций. Разработчикам рекомендуется протестировать Preview 6 в своих проектах и отправить отзыв через GitHub. Это поможет Microsoft выявить проблемы и улучшить продукт к финальному релизу.

Итог

.NET 11 Preview 6 демонстрирует стремление Microsoft улучшить разработку на платформе: язык C становится выразительнее, ASP.NET Core — безопаснее и производительнее, а MAUI и EF Core догоняют ожидания разработчиков. Следите за новостями, чтобы не пропустить финальный релиз. Preview 6 уже доступен для загрузки, и мы рекомендуем опробовать его в своих проектах, чтобы оценить новые возможности и подготовиться к переходу на .NET 11.