ExcelDataReader


Como la aplicación "subía" archivos excel se añadió el paquete ExcelDataReader para su procesamiento.

Dicho procesamiento se ubica en la capa de servicios y consiste en generar un dataset por el stream enviado desde Front para realizar validaciones de los campos en base a una plantilla y finalmente enviarlos a Blobs de Azure. Desde aquí se cargarían luego los modelos asociados para poder insertarlos en BBDD.

Para excel con miles de filas se encontró que la inserción tardaba mucho. La primera opción fue la de deshabilitar la configuración de "trackeo" del contexto AutoDetectChangesEnabled pues no se utilizaban hasta una nueva llamada a la API. Los tiempos bajaron en un 80% y aun así se barajó la posibilidad de generar las queries sql de inserción "en crudo" lo que optimizaba en un 96% aproximadamente, es decir, lo que tarda SQL en ejecutar las miles de queries de inserción.