Эффективная работа с EntityFramework Core

#EntityFrameworkCore #performance #ORM В этом видео попытаюсь объяснить основные правила работы с ORM под названием EntityFramework Core. Определения: * EntityFramework Core = ORM * ORM = Object–relational mapping * NET: ADO.NET Entity Framework, NHibernate, Dapper… * Двухуровневая архитектура = Client + Database * Трёхуровневая архитектура = Client + BusinessLogic + Database * BusinessLogic – уровень бизнес-логики, где обычно «живет» Clean * Architecture, Domain-Driven Design и прочие подходы * Бизнес-логики на клиенте быть не может по определению Затронутые аспекты: * Правильно использовать индексы * Project только необходимые свойства * Ограничить размер результирующего набора * Избегайте декартового развертывания при загрузке связанных сущностей * Загружайте связанные сущности по возможности * Будьте осторожны с отложенной загрузкой * «Всё сразу» или «по одной» (буферизация или поток) * Отслеживание изменений (ChangeTracker) * Необработанные SQL-запросы (FromSqlRaw + HasDbFunction) * Асинхронное программирование Ссылки https://docs.microsoft.com/ru-ru/ef/core/performance/efficient-querying#avoid-cartesian-explosion-when-loading-related-entities https://docs.microsoft.com/ru-ru/ef/core/querying/null-comparisons#writing-performant-queries https://docs.microsoft.com/ru-ru/archive/msdn-magazine/2016/may/data-points-dapper-entity-framework-and-hybrid-apps Благодарности и помощь каналу принимаются: https://www.calabonga.net/site/thanks

Иконка канала О сложном просто
110 подписчиков
12+
7 просмотров
4 года назад
12+
7 просмотров
4 года назад

#EntityFrameworkCore #performance #ORM В этом видео попытаюсь объяснить основные правила работы с ORM под названием EntityFramework Core. Определения: * EntityFramework Core = ORM * ORM = Object–relational mapping * NET: ADO.NET Entity Framework, NHibernate, Dapper… * Двухуровневая архитектура = Client + Database * Трёхуровневая архитектура = Client + BusinessLogic + Database * BusinessLogic – уровень бизнес-логики, где обычно «живет» Clean * Architecture, Domain-Driven Design и прочие подходы * Бизнес-логики на клиенте быть не может по определению Затронутые аспекты: * Правильно использовать индексы * Project только необходимые свойства * Ограничить размер результирующего набора * Избегайте декартового развертывания при загрузке связанных сущностей * Загружайте связанные сущности по возможности * Будьте осторожны с отложенной загрузкой * «Всё сразу» или «по одной» (буферизация или поток) * Отслеживание изменений (ChangeTracker) * Необработанные SQL-запросы (FromSqlRaw + HasDbFunction) * Асинхронное программирование Ссылки https://docs.microsoft.com/ru-ru/ef/core/performance/efficient-querying#avoid-cartesian-explosion-when-loading-related-entities https://docs.microsoft.com/ru-ru/ef/core/querying/null-comparisons#writing-performant-queries https://docs.microsoft.com/ru-ru/archive/msdn-magazine/2016/may/data-points-dapper-entity-framework-and-hybrid-apps Благодарности и помощь каналу принимаются: https://www.calabonga.net/site/thanks

, чтобы оставлять комментарии