Che cosa potrebbe essere questo: Nuovo linguaggio di query chainable Active Record costruito sulla cima di algebra relazionale?

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

Domanda

ho visto questo su un blog oggi , e ho pensato, finalmente! Rails avranno qualcosa di simile a HQL o < a href = "http://en.wikipedia.org/wiki/Language_Integrated_Query" rel = "nofollow noreferrer"> Linq . Um, oppure no. Non sono riuscito a trovare nulla di questo.

Quello che voglio davvero sapere: sarò in grado di dimenticare ciò che i tavoli sono chiamate e utilizzare solo i nomi degli oggetti? Posso finalmente dimentico unirsi sintassi? Mi piacerebbe poterlo fare prima di iniziare dimenticando tutto il resto (obiettivi di vita).

È stato utile?

Soluzione

Per quanto ho capito, questo significa che è possibile scrivere le vostre query complesse non come

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

, ma il modo più leggibile

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

Altri suggerimenti

query chainable con valutazione pigra e la sintassi AREL:

Questo consente di scrivere vari ambiti che rappresentano le condizioni e poi mescolare e abbinarli e concatenare ... nella conoscenza del la query non verrà effettivamente ottenere eseguito fino a quando è necessaria l'uscita ( 'valutazione pigra').

La sintassi di AREL è molto più vicini alla sintassi SQL standard invece della sintassi delle precedenti guide 'così è più facile da usare e riconoscere e mantenere per coloro famiiar con SQL.

Si può leggere di più su di esso qui . Io non sono terribilmente familiarità con LINQ, ma credo che LINQ è in qualche modo simile all'interfaccia query utilizzata da ORM di Django. In ogni caso, il succo è che l'interfaccia query in Active Record è più simile a quella di Django che era prima. Un sacco di metodi di query "di basso livello" più anziani sono deprecato e sarà rimosso nelle versioni successive.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top