Estaba buscando en las extensiones de Entity Framework para operaciones masivas y encontré en los mismos desarrolladores EF Plus. Ahora EFE tiene operaciones masivas que se pagan y EF PLus tiene operaciones por lotes, que pretenden realizar solo la actualización y eliminación masivas, pero se denominan operaciones por lotes. Entonces, ¿cuál es la diferencia entre las operaciones en masa de EFE y las operaciones por lotes EF más?
Descargo de responsabilidad : soy el propietario del proyecto Entity Framework Extensions
Descargo de responsabilidad : soy el propietario del proyecto Entity Framework Plus
Existe una gran diferencia entre los métodos que se denominan Bulk Operation
y Batch Operation
.
La operación de Bach realiza una operación en la base de datos sin cargar datos en el contexto. En resumen, todo se hace en el lado de la base de datos.
Ambas bibliotecas lo admiten y finalmente se admitirá en una biblioteca (de forma gratuita sin importar la decisión de la biblioteca)
En EFE, los métodos se denominan:
En EF +, los métodos se denominan:
La operación masiva solo existe en EFE. Son operaciones inmediatas que toman una lista de entidades y las guardan con la base de datos.
Ejemplo
// 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;
});