Да, вы можете, но вам захочется потратить некоторое время на изучение возможностей ORM для хранимых процедур.
Большинство позволит вам запустить хранимую процедуру, которая возвращает строго типизированный объект / сущность. Более продвинутые ORM позволят вам подключать хранимые процедуры для выполнения действий CRUD (так что ваши общие запросы, удаление и т. Д. Выполняются с помощью хранимой процедуры, а не динамического запроса).
Обычно ORM отлично подходят для генерации специальных запросов и получения строго типизированных сущностей, но благодаря сильной поддержке хранимых процедур вы можете (иногда) упростить доступ к собственным возможностям вашей RDMS, которые могут не отображаться в качестве первого класса. граждане в ORM - особенно если ORM поддерживает много механизмов баз данных.
В продолжение ваших правок:
Часто вам захочется использовать специальный механизм запросов, предоставляемый ORM, однако, как я упоминал ранее - иногда вы хотите запрашивать, используя возможности, не предоставляемые ORM.
Преимущества строго типизированных сущностей неоценимы, так как это означает, что у вас обычно есть объект домена, а не считыватели данных, таблицы данных и т. Д. Вы можете чисто инкапсулировать поведение и логику внутри извлеченных вами сущностей.
Список дополнительных преимуществ действительно очень длинный - например, с LightSpeed ORM (и большинством других) ваши объекты будут поддерживать стандартные интерфейсы привязки, интерфейсы отчетов об ошибках, валидацию и т. Д. На стороне запросов вы проиграете из-за ленивости. загрузка и т. д., если вы не пишете это самостоятельно.