Пакетные операции расширения Entity Framework против массовых операций EFE
Я искал расширения Entity Framework для массовых операций и нашел от тех же разработчиков EF Plus. Теперь EFE имеет массовые операции, которые оплачиваются, а EF PLus имеет пакетные операции, которые утверждают, что выполняют только массовое обновление и удаление, но называются пакетными операциями. Так в чем же разница между массовыми операциями EFE и пакетными операциями EF plus?
1 ответ
Отказ от ответственности: я владелец проекта http://entityframework-extensions.net/
Отказ от ответственности: я владелец проекта http://entityframework-plus.net/
Существует огромная разница между методами, которые называются Bulk Operation
а также Batch Operation
,
Пакетная операция
Операция Баха выполняет операцию в базе данных без загрузки данных в контексте. Короче говоря, все делается на стороне базы данных.
Обе библиотеки поддерживают его, и в конечном итоге он будет поддерживаться в одной библиотеке (бесплатно независимо от решения библиотеки)
В EFE методы называются:
- DeleteFromQuery
- UpdateFromQuery
В EF+ методы называются:
- удалять
- Обновить
Массовая операция
Массовая эксплуатация существует только в EFE. Это немедленные операции, которые берут список объектов и сохраняют их в базе данных.
- Массовое сохранение изменений
- Массовая вставка
- Массовое удаление
- Массовое обновление
- Массовое слияние
пример
// Easy to use
context.BulkSaveChanges();
// Easy to customize
context.BulkSaveChanges(bulk => bulk.BatchSize = 100);
// Perform Bulk Operations
context.BulkDelete(customers);
context.BulkInsert(customers);
context.BulkUpdate(customers);
// Customize Bulk Operations
context.BulkInsert(customers, options => {
options => options.IncludeGraph = true;
});
context.BulkMerge(customers, options => {
options.ColumnPrimaryKeyExpression =
customer => customer.Code;
});