Rendimiento ORM (esp. NHibernate) para consultas complejas

Mi compañía está en el proceso de reescribir una aplicación existente desde cero. Esta aplicación, entre otras tareas, realiza consultas SQL complejas contra datos de pedidos y facturas para producir informes de ventas. Las consultas se crean de forma dinámica según los criterios que seleccione el usuario, por lo que pueden ser bastante complejas si se seleccionan muchos criterios. Actualmente, el rendimiento es decente, pero no excelente.

Ahora, para la nueva versión, nos gustaría usar un ORM, probablemente NHibernate porque aparentemente es el único que admite Oracle Lite (la aplicación usa Oracle u Oracle Lite, dependiendo de si se ejecuta en modo conectado o desconectado). Pero me preocupa el rendimiento de las consultas generadas por NHibernate. He trabajado con otros ORM antes (Linq to SQL, Entity Framework), pero las consultas eran bastante simples, por lo que no hubo problemas de rendimiento.

Por lo tanto, antes de tomar una decisión sobre el uso de un ORM o permanecer con SQL sin formato, me gustaría saber qué tan bien estas herramientas manejan escenarios tales como uniones externas, subconsultas, etc. adecuado para su uso en el escenario de informe descrito anteriormente? ¿Debo preocuparme por el rendimiento para consultas complejas?

Cualquier comentario sería muy apreciado

Respuestas a la pregunta(3)

Su respuesta a la pregunta