Пакетные операции расширения 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;
});
Другие вопросы по тегам