Операции над расширением расширения Entity Framework и объемные операции EFE

c# entity-framework-6 entity-framework-extensions entity-framework-plus

Вопрос

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

Принятый ответ

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

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

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

Пакетный режим

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

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

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

  • DeleteFromQuery
  • UpdateFromQuery

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

  • Удалить
  • Обновить

Массовая операция

Массовая операция существует только в EFE. Это немедленные операции, которые берут список объектов и сохраняют их с базой данных.

  • Массовые SaveChanges
  • Массовая вставка
  • Массовое удаление
  • Массовое обновление
  • Массовое слияние

пример

// 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;
});



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему