2008-11-28 5 views
4

Je suis en train de faire un simple "Select Count (*) à partir de produits où date> xxx" avec le château sur NHibernate. Si j'utilisais directement NHibernate, je pourrais réutiliser les réponses this question mais malheureusement, je ne vois aucun moyen facile d'accéder à la session Current NHibernate de Castle Records.Castle/Active Records: Comment comptez-vous les objets?

Je ne veux évidemment pas récupérer tous mes objets et faire un compte sur le côté C#;). J'ai juste besoin de savoir combien d'objets il y a.

Des idées?

Répondre

11

Il y a plusieurs façons de le faire, le plus simple est:

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

ou votre CountQuery pourrait utiliser, HQL, etc, il existe de nombreuses alternatives. UPDATE: pour NHibernate 2.0+, il s'agit de Restrictions au lieu de Expression.

Je vais copier des questions communes comme celles-ci à l'ActiveRecord wiki.

+0

comte est marqué comme interne, donc je ne peux pas l'utiliser dans ma couche d'affaires (je ne veux pas vraiment réimplémenter sur le côté DAL). Le second fonctionne parfaitement, merci! – Luk

+0

Vous avez raison, bien qu'il soit un peu bizarre que c'est interne ... Je vais modifier la réponse, merci. –

+0

Quelle expression classe-t-elle? Je ne l'ai pas trouvé. – ripper234

Questions connexes