Перейти к содержанию

Bulk Operations в Entity Framework Core

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

[ Полезный рекламный блок ]

Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.


Расширения EF Core Bulk Extensions предоставляются библиотекой Entity Framework Extensions. 

Z.EntityFramework.Extensions.EFCore — это сторонняя библиотека, расширяющая функциональность EF Core. Она предоставляет дополнительные возможности для работы с EF Core, в частности, в области массовых операций. Библиотека предоставляет эффективные способы выполнения таких CRUD-операций, как BulkInsert, BulkUpdate, BulkDelete, BulkMerge, BulkRead и WhereBulkContains.

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

Для тестирования данных операция, подготовим основу. Я создал проект по типу Console App. В корне проекта, определим класс User, со следующим содержимым:

Загрузим библиотеку Entity Framework Core Sql Server, через Package Manager Console:

Для работы с Bulk операциями, загрузи библиотеку Z.EntityFramework.Extensions.EFCore:

Теперь, определим класс ApplicationContext, со следующим содержимым:

Для упрощения примера, базе данных создадим без миграций, а строку подключения я определил прямо в коде.

Приступим к Bulk операциями.

BulkInsert

BulkInsert — это функция, позволяющая вставлять в базу данных несколько записей в одном запросе. Это позволяет значительно повысить производительность вставки данных, особенно при работе с большими наборами данных.

Пример добавления коллекции пользователей:

BulkUpdate

BulkUpdate — это функция, позволяющая обновлять несколько записей в базе данных одним запросом. Это позволяет значительно повысить производительность обновления данных, особенно при работе с большими наборами данных.

BulkDelete

BulkDelete — это функция, позволяющая удалять несколько записей из базы данных одним запросом. Это позволяет значительно повысить производительность удаления данных, особенно при работе с большими массивами данных.

BulkRead

BulkRead — это функция, позволяющая получить несколько записей из базы данных в одном запросе, используя список идентификаторов или сущностей. Это позволяет значительно повысить производительность поиска данных, особенно при работе с большими массивами данных.

WhereBulkContains

WhereBulkContains— это функция, позволяющая фильтровать несколько записей из базы данных в одном запросе по списку идентификаторов или сущностей. Это может значительно повысить производительность поиска данных, особенно при работе с большими массивами данных. Данная функция очень похожа на BulkRead, но является отложенным методом, а не немедленным (поэтому для ее реализации требуется ToList()).

Выводы

Z.EntityFramework.Extensions — это мощная библиотека, позволяющая ускорить выполнение операций манипулирования данными в приложении. Предоставление эффективных массовых операций, таких как BulkInsert, BulkUpdate, BulkDelete, BulkMerge, BulkRead и WhereBulkContains, позволяет значительно повысить производительность манипулирования данными (CRUD-операций) в приложении, особенно при работе с большими массивами данных.

Я надеюсь, что вам понравилось читать эту статью, и она оказалась легкой для понимания. Пожалуйста, дайте мне знать, если у вас есть какие-либо комментарии или исправления.

Так же вам может быть интересна предыдущая статья — Самый быстрый способ вставки в Entity Framework.


Вы хотите научится писать код на языке программирования C#?

Создавать различные информационные системы, состоящие из сайтов, мобильных клиентов, десктопных приложений, телеграмм-ботов и т.д.

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

  • Доступ к пройденному материалу
  • Тематические статьи
  • Библиотека книг
  • Онлайн тестирование
  • Общение в закрытых группах

https://dijix.com.ua

Живи в своем мире, программируй в нашем.


 

Опубликовано в рубрикеEntity Framework Core
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x