Что это может быть: новый язык цепочек запросов Active Record, построенный поверх реляционной алгебры? - PullRequest
6 голосов
/ 05 февраля 2010

Я видел это в блоге сегодня , и я подумал, наконец-то! У Rails будет что-то вроде HQL или Linq . Гм или нет. Я ничего не мог найти по этому поводу.

Что я действительно хочу знать: Смогу ли я забыть, как называются таблицы, и использовать только имена объектов? Могу ли я наконец забыть синтаксис соединения? Я хотел бы сделать это, прежде чем я начну забывать все остальное (жизненные цели).

Ответы [ 3 ]

2 голосов
/ 05 февраля 2010

Насколько я понимаю, это означает, что вы можете писать свои сложные запросы не как

Object.find(:all, :conditions = > { :limit => 10, :offset => 5 }

но более читабельный способ

Object.all.limit(10).offset(5)
1 голос
/ 10 марта 2012

Цепные запросы с отложенной оценкой и синтаксисом AREL:

Это позволяет вам писать различные области видимости, представляющие условия, а затем смешивать и сопоставлять их и связывать их вместе ... при условии, что запрос фактически не будет запущен до тех пор, пока не понадобится вывод ('ленивая оценка').

Синтаксис AREL намного ближе к стандартному синтаксису SQL вместо прежнего синтаксиса 'rails', поэтому его легче использовать, распознавать и поддерживать для тех, кто знаком с SQL.

0 голосов
/ 05 февраля 2010

Подробнее об этом можно прочитать здесь . Я не очень знаком с LINQ, но я считаю, что LINQ чем-то похож на интерфейс запросов, используемый ORM Джанго. В любом случае, суть в том, что интерфейс запросов в Active Record больше похож на интерфейс Django, чем был раньше. Многие старые «низкоуровневые» методы запросов устарели и будут удалены в более поздних версиях.

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