ORM, который принимает SQL и просто отображает объекты и отношения? - PullRequest
1 голос
/ 04 октября 2009

Я считаю, что использование ActiveRecord влияет на то, как я проектирую схему базы данных (хотя мне бы хотелось, чтобы это не так). Я думаю о неэффективности получения данных и о том, как сократить общее количество запросов. Опция find: include может помочь только вам. Я пришел от написания хранимых процедур, которые захватывают все, что вам нужно (для определенного экрана или действия) в один вызов.

Мне действительно не нужен API для написания моего SQL. Я полностью согласен писать T-SQL без Ruby. Единственное, что я хочу - это сопоставить результаты моего запроса с экземплярами моделей и их ассоциациями. Есть ли ORM, которые используют этот подход? Единицы, которые могут обрабатывать несколько выборок (сохраненных процедур?) И, возможно, даже использование временных таблиц ...

EDIT:

Я перефразировал и уточнил, что я действительно получил после этого вопроса .

Ответы [ 2 ]

1 голос
/ 04 октября 2009

Я считаю, что потребность в довольно сложном запросе составляет около 20% проекта, поэтому использование ORM очень помогает.

Когда эти 20% возникают, я обнаруживаю, что делаю что-то похожее на то, что вы просите, работая исключительно с SQL. ActiveRecord и DataMapper имеют метод find_by_sql, который помогает вам больше, но не создает экземпляры всех моделей (по крайней мере, в ActiveRecord, если я не ошибаюсь).

Вы пытались использовать Сиквел ? Это тоже ORM, но у вас будет более простой подход и больше гибкости в том, что у вас есть.

Кроме того, я не могу придумать более сфокусированного решения в области ORM. Имейте в виду, что ORM пытается абстрагировать интерфейс запросов для упрощения. Если вы чувствуете себя комфортно с использованием необработанного SQL, возможно, вы могли бы повысить производительность, используя только интерфейс фасада SQL.

0 голосов
/ 07 октября 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...