Re[7]: Entity Framework за! и против!
От: Dair Россия  
Дата: 17.08.14 17:11
Оценка:
D>>Ну, хорошо. Как написать вот такой запрос на ОРМ.NET?
НС>Что такое ОРМ.NET? Любой ORM под дотнет?

Я ни одним не владею, поэтому да, любой. Мне для примера понять, как оно будет выглядеть.

D>>Это реальный запрос и, наверно, самый сложный, который я реально применяю.

D>>
select count(e.id), l.id, l.name from location l left outer join event e on (e.cr_date >= now() - '#{sanitize(period)}h'::interval and e.location_id = l.id)  group by l.id order by l.id asc

D>>Фрагмент "e.cr_date >= now() — '#{sanitize(period)}h'::interval" означает "за последние period часов".

НС>Оно точно рабочее? Потому что известные мне сервера скажут, что l.name отсутствует в group by.


у меня на PostgreSQL 9.1 вполне работает, это copy&paste из рабочего проекта.
Таблица event содержит события, таблица location — места этих событий, связка event->location "много к одному". Запрос возвращает кол-во событий по локациям за указанное кол-во часов он настоящего времени. Для тех локаций, в которых событий не было — 0, для этого, собсно, outer join.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.