Часть VI. Работа с файлами, сериализация объектов и доступ к данным....19
Глава 20.Файловый ввод-вывод и сериализация объектов....20
Глава 21.Доступ к данным с помощью ADO.NET....61
Часть VII. Entity Framework Core....125
Глава 22.Введение в Entity Framework Core....126
Глава 23.Построение уровня доступа к данным с помощью Entity Framework Core....183
Часть VIII.Разработка клиентских приложений для Windows....265
Глава 24.Введение в Windows Presentation Foundation и XAML....266
Глава 25.Элементы управления, компоновки, события и привязка данных в WPF....302
Глава 26.Службы визуализации графики WPF....363
Глава 27.Ресурсы, анимация, стили и шаблоны WPF....399
Глава 28.Уведомления WPF, проверка достоверности, команды MVVM....439
Часть IX. ASP.NET Core....477
Глава 29.Введение в ASP.NET Core....478
Глава 30.Создание служб REST с помощью ASP.NET Core....530
Глава 31.Создание приложений MVC с помощью ASP.NET Core....555
Предметный указатель....627
В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным “закулисным” обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле. Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных. Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.
В двух словах: Это фундаментальный, глубокий и исключительно практический труд, который является обязательным для прочтения каждым профессиональным разработчиком на C#, желающим освоить современный стек технологий .NET (WPF, EF Core, ASP.NET Core). Второй том полностью посвящён ключевым подсистемам платформы: работе с данными, построению клиентских приложений для Windows и веб-сервисов.
О чём книга и для кого она?
Десятое издание знаменитого «Троелсена» (теперь уже в соавторстве с Филиппом Джепиксом) — это не просто обновление под C# 9 и .NET 5, а серьёзная переработка материала с учётом современных реалий кроссплатформенной разработки. Книга рассчитана на разработчиков, уже знакомых с основами C# и желающих углубиться в профессиональную разработку.
Второй том охватывает три крупные области:
System.IO), сериализацию (XML, JSON), классический ADO.NET и, что особенно важно, Entity Framework Core 5. Это не поверхностное введение, а детальный разбор: от создания DbContext до миграций, связей (один-ко-многим, многие-ко-многим), глобальных фильтров запросов и производительности.Сильные стороны
IDbConnection,IDbCommand,IDataReader. Это даёт читателю настоящее понимание, а не поверхностные навыки.System.Text.Json(вместо устаревшего Newtonsoft.Json), атрибут[ApiController],record-типы (хотя во втором томе они не являются центральной темой), top-level statements, улучшения вswitch. Важно, что авторы прямо пишут об отказе отBinaryFormatterи советуют более безопасные альтернативы.SqlBulkCopy), обработка транзакций, глобальные фильтры запросов для Soft Delete, настройка CORS, фильтры исключений в ASP.NET Core, пакетирование и минификация клиентских ресурсов. Присутствуют полноценные примеры с тестированием (xUnit, интеграционные тесты).AutoLot(автодилер) проходит красной нитью через все части книги: от ADO.NET до WPF и ASP.NET Core, что обеспечивает преемственность. Пример с созданием фабрики провайдеров данных (MyConnectionFactory) и обёртки для API (ApiServiceWrapper) демонстрирует хорошие архитектурные практики.Что можно было бы улучшить (субъективные замечания)
#if PCдля OleDb — это работает, но можно было бы показать более элегантное решение. В коде тестов встречаются прямые вызовыConsole.WriteLineв обработчиках событий — это нормально для демонстрации, но в реальном проекте лучше использовать логирование.Итог
«Язык программирования C# 9 и платформа .NET 5. Том 2» — это энциклопедия для профессионального разработчика на C#. Если вы хотите не просто «уметь писать запросы LINQ», а понимать, как работает
ChangeTrackerв EF Core, как устроена маршрутизация в ASP.NET Core и почему свойство зависимости в WPF — это не просто поле, — эта книга для вас.Она одинаково полезна как для тех, кто переходит с .NET Framework на .NET Core/5+, так и для тех, кто начинает изучение этих технологий с серьёзным настроем.
Категорически рекомендуется всем разработчикам C#, которые проходят собеседования на позиции middle/senior, работают с базами данных, WPF или ASP.NET Core. Это одна из тех книг, которые не пылятся на полке, а постоянно используются в качестве настольного справочника.
Оценка: 9.5 из 10.
(Полбалла снято за некоторый консерватизм в выборе технологий и отсутствие упражнений).