Что бы это могло быть:Новый язык запросов с цепочкой активных записей, построенный поверх реляционной алгебры?

StackOverflow https://stackoverflow.com/questions/2209108

Вопрос

Я видел это сегодня в блоге, и я подумал, наконец-то!Рельсы будут иметь что-то вроде HQL или Linq ( Ссылка ).Хм, или нет.Я ничего не смог найти по этому поводу.

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

Это было полезно?

Решение

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

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

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

Object.all.limit(10).offset(5)

Другие советы

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

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

Синтаксис AREL намного ближе к стандартному синтаксису sql вместо предыдущего синтаксиса rails, поэтому его проще использовать, распознавать и поддерживать тем, кто знаком с SQL.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top