Что бы это могло быть:Новый язык запросов с цепочкой активных записей, построенный поверх реляционной алгебры?
-
18-09-2019 - |
Вопрос
Я видел это сегодня в блоге, и я подумал, наконец-то!Рельсы будут иметь что-то вроде 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, чем это было раньше.Многие старые методы запросов "низкого уровня" устарели и будут удалены в более поздних версиях.