TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.76K subscribers
Post #1766 1.53K
День 1434. #ЧтоНовенького
Entity Framework 7. Пакетные Операции и Столбцы JSON
Версия 7 EF Core была выпущена в ноябре вместе с более широким выпуском .NET 7. В обновлённой версии улучшена производительность при сохранении данных, разрешены операции со столбцами JSON, реализованы эффективные пакетные операции, а также содержится множество мелких исправлений и улучшений. EF Core 7 доступен как для .NET 7, так и для .NET 6.

Согласно документации по критическим изменениям, наиболее важным изменением в EF Core 7 является обработка соединений SQL Server по умолчанию как зашифрованных. Разработчикам придётся настроить действительный сертификат на своих машинах или явно ослабить ограничение безопасности. В противном случае строки подключения допустимые в EF6 вызовут исключение в EF7.

Одним из уже известных улучшений в EF7 является повышение производительности при сохранении изменений в базе данных с помощью метода SaveAsync. В некоторых сценариях оно может составлять до 50% по сравнению с EF6 Core на том же компьютере.

В EF7 добавлена поддержка текстовых столбцов, содержащих документы JSON. Разработчики могут фильтровать и сортировать свойства JSON внутри документов как часть запроса к базе данных. EF7 содержит обобщённую поддержку столбцов JSON и конкретную реализацию для провайдера SQL Server.

Пакетные операции с базой данных, такие как массовое обновление или удаление, также были переработаны в EF7. Выполнение стандартного метода SaveChangesAsync может повлиять на несколько записей, но в итоге результаты выполнения SQL загружаются в память. В EF7 теперь есть два новых метода, ExecuteUpdateAsync и ExecuteDeleteAsync, которые немедленно выполняют пакетные операции на сервере и не загружают объекты обратно в память.

По умолчанию EF Core сопоставляет иерархию наследования типов .NET с одной таблицей базы данных в соответствии со стратегией, которая называется Table-per-Hierarchy (TPH). В EF Core 5 добавлена стратегия Table-per-Type (TPT), при которой каждый тип в иерархии получает таблицу базы данных. В EF Core 7 теперь добавлена стратегия Table-per-Concrete-Type (TPC), при которой каждый неабстрактный тип получает таблицу базы данных, а столбцы абстрактного типа добавляются в таблицы конкретных реализаций абстрактного типа.

В EF7 есть и другие улучшения, такие как поддержка пользовательских шаблонов T4 при обратном проектировании базы данных, поддержка переопределения и изменения соглашений модели по умолчанию, улучшенные перехватчики и события, а также сопоставление вставок, обновлений и удалений с хранимыми процедурами.

Хотя исторически разработчики .NET воспринимали Entity Framework как громоздкую и полную недостатков, новые версии теперь признаны высокоэффективными, отказоустойчивыми ORM.

В выпуске EF7 уже есть дорожная карта для EF8 с дополнительными улучшениями для столбцов JSON, поддержкой объектов-значений .NET и возможностью возвращать несопоставленные типы в качестве результатов запроса.

Источник: https://www.infoq.com/news/2022/12/ef7-core-json/
  • 👍 15
More from @netdeveloperdiary
  1. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 1. Почему существу…
  2. Oct 12, 2026День 2812. #Карьера #AI Как Разработчикам Оставаться Полезными, Когда Код Пишет ИИ? По мер…
  3. Oct 11, 2026День 2811. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  4. Oct 10, 2026День 2810. #ЧтоНовенького #VSCode Более Быстрый и Лёгкий C# Dev Kit Мы, разработчики, люби…
  5. Oct 9, 2026День 2809. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Окончание Начало 3.…
  6. Oct 8, 2026День 2808. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Начало В ИТ есть се…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →