Мы все знаем, что ef плохо поддерживает пакетные операции: если вы используете ef для вставки нескольких данных в пакеты или обновления или удаления нескольких операторов по пакетам, это пустая трата времени, так как же оптимизировать операции с EF для большого объёма данных?
Без глупостей, сначала сделайте скриншот, нет таблицы сравнения до и после оптимизации!
Статистика в случае вставки одних и тех же 3814 единиц данных и базы данных — это SQL Server
До оптимизации:Среднее время составляло 2479 секунд
После оптимизации:Среднее время составляло 149 секунд
Код вставки для вызова выглядит следующим образом:
Код до оптимизации:
Оптимизированный код:
Другой тестовый код:
Схема оптимизации:
Мы используем стороннее расширение «Z.EntityFramework.Extensions», официальная главная страница: http://entityframework-extensions.net/
Представлять:
Структура сущности: BulkInsert, BulkSaveChanges, BulkSaveChanges, Bulk Update, Bulk Delete, Bulk Merge и Bulk Sync.
Поддержка: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite и PostgreSQL.
Эта библиотека не бесплатна. Пробный период всегда заканчивается в конце месяца.
Команда установки NUGET:
|