Пакетные операции расширения Entity Framework и массовые операции EFE

Я искал расширения Entity Framework для массовых операций и нашел у тех же разработчиков EF Plus. Теперь у EFE есть массовые операции, которые оплачиваются, а у EF PLus есть пакетные операции, которые утверждают, что выполняют только массовое обновление и удаление, но называются пакетными операциями. Так в чем же разница между массовыми операциями EFE и пакетными операциями EF plus?


person Radoslav.Ivanov    schedule 12.12.2017    source источник


Ответы (1)


Отказ от ответственности: я являюсь владельцем проекта Entity Framework Extensions

Отказ от ответственности: я являюсь владельцем проекта Entity Framework Plus

Существует огромная разница между методами, которые называются Bulk Operation и Batch Operation.

Пакетная операция

Операция Баха выполняет операцию в базе данных без загрузки данных в контексте. Короче говоря, все делается на стороне базы данных.

Обе библиотеки поддерживают его, и в конечном итоге он будет поддерживаться в одной библиотеке (бесплатно, независимо от решения библиотеки).

В EFE методы называются:

  • Удалить из запроса
  • Обновление из запроса

В 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;
});
person Jonathan Magnan    schedule 12.12.2017
comment
Итак, в основном разница между обеими версиями заключается в том, что платная версия включает в себя массовую операцию, а бесплатная — только пакетную операцию? На странице отсутствует таблица сравнения характеристик! - person rekiem87; 06.07.2018
comment
привет @Jonathon, ты можешь ответить на этот вопрос? спасибо stackoverflow.com /вопросы/63461990/ - person ; 18.08.2020