Производительность ORM (особенно NHibernate) для сложных запросов

Моя компания находится в процессе переписывания существующего приложения с нуля. Это приложение, помимо других задач, выполняет сложные запросы SQL к данным заказа и счета-фактуры для создания отчетов о продажах. Запросы строятся динамически в зависимости от того, какие критерии выбраны пользователем, поэтому они могут быть довольно сложными, если выбрано много критериев. В настоящее время производительность приличная, но не отличная.

Теперь для новой версии мы хотели бы использовать ORM, возможно, NHibernate, поскольку он, по-видимому, единственный, который поддерживает Oracle Lite (приложение использует либо Oracle, либо Oracle Lite, в зависимости от того, работает ли оно в режиме подключения или отключения). Но меня беспокоит производительность запросов, генерируемых NHibernate. Я уже работал с другими ORM (Linq to SQL, Entity Framework), но запросы были довольно простыми, поэтому проблем с производительностью не было.

Итак, прежде чем принять решение об использовании ORM или использовании простого SQL, я бы хотел узнать, насколько хорошо эти инструменты обрабатывают такие сценарии, как внешние объединения, подзапросы и т. Д. Как вы думаете, ORM (особенно NHibernate) подходит для использования в сценарии отчетности, описанном выше? Стоит ли беспокоиться о производительности сложных запросов?

Любая обратная связь будет принята с благодарностью

Ответы на вопрос(3)

Ваш ответ на вопрос