2008-11-28 2 views
4

Я пытаюсь сделать простой «Выберите счетчик (*) из ПРОДУКТОВ, где date> xxx» с Castle на NHibernate.Замок/Активные записи: Как вы считаете объекты?

Если бы я был напрямую с помощью NHibernate, я мог бы повторно использовать ответы this question, но, к сожалению, я не вижу простого способа доступа к текущей сессии NHibernate от Castle Records.

Я, очевидно, не хочу извлекать все свои объекты и делать счет на стороне C#;). Мне нужно только знать, сколько объектов есть.

Любые идеи?

ответ

11

Есть много способов сделать это, проще всего:

ActiveRecordMediator<Product>.Count(Expression.Gt("date", DateTime.Now)) 

или ваш может использовать CountQuery, HQL и т.д., есть много альтернатив.

UPDATE: для NHibernate 2.0+ это Restrictions вместо Expression.

Я скопирую общие вопросы, подобные этим, на ActiveRecord wiki.

+0

Граф отмечен как внутренний, поэтому я не могу использовать его в своем бизнес-слое (я действительно не хочу переопределять его на стороне DAL). Второй работает отлично, спасибо! – Luk 2008-12-01 10:28:06