5.9 Выражения запросов
let top = from o in db.Order
where o.userId == uid && o.total > MIN_TOTAL
order by o.createdAt desc
skip page * PAGE_SIZE
take PAGE_SIZE
load(items)
let names = from u in users where u.active select u.name // List в памяти
let byRole = from u in users group by u.role into g select (g.key, g.count())- Форма:
from x in источник(where e)* (order by e (asc|desc)?, …)? (group by e into g)? (skip e)? (take e)? (load(поле, …))? (select e)?. - Источник
Table<T>(§12.8): запрос компилируется в SQL при сборке, выполняется с эффектомdb, результат —List<T>(илиList<S>приselect). Выражения вwhere/order byДОЛЖНЫ транслироваться в SQL: поля, литералы, параметры, арифметика, сравнения,in,&& || !,starts_with,contains,lower; иначе — ошибка компиляции. - Любой другой источник
Iterable<T>: запрос вычисляется в памяти и возвращаетiter<T>(ленивый).
Связанные диагностики
См. также
Исходник: docs/spec/oxl-standard.md