Ми всі знаємо, що ef погано підтримує пакетні операції, якщо ви використовуєте ef для вставки кількох даних у пакети або оновлення чи видалення кількох операторів у пакетах, це марна трата часу, тож як оптимізувати операції ef для великої кількості даних?
Без дурниць, спочатку зробіть скріншот, немає порівняльної таблиці до і після оптимізації!
Статистика у випадку вставки одних і тих самих 3814 фрагментів даних і бази даних — це SQL Server
До оптимізації:Середній час становив 2479 секунд
Після оптимізації:Середній час становив 149 секунд
Код вставки для виклику виглядає так:
Код до оптимізації:
Оптимізований код:
Інший тестовий код:
Схема оптимізації:
Ми використовуємо стороннє розширення "Z.EntityFramework.Extensions", офіційна домашня сторінка: http://entityframework-extensions.net/
Ввести:
Структурний фреймворк: Bulk Insert, BulkSaveChanges, Bulk Update, Bulk Delete, Bulk Merge та Bulk Sync.
Підтримка: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite та PostgreSQL.
Ця бібліотека не безкоштовна. Пробний період завжди закінчується наприкінці місяця.
Команда встановлення NuGet:
|