I tried this approach but I used QueryOver<T> rather than
QueryOver<T1, T2> as my base class and it didn't work. Using
QueryOver<T1, T2> works as expected - thank you!

On Jan 12, 4:55 pm, "Richard Brown \(gmail\)"
<[email protected]> wrote:
> Hi Colin,
>
> I think it would look something like this:
>
> public class CarViewModelMessage
> {
>     public bool IsFeatured { get; set; }
>
> }
>
> public class FeaturedCarFinder : QueryOver<Car, Car>
> {
>     public FeaturedCarFinder(int maxResults)
>     {
>         Where(c => c.IsFeatured);
>         Take(maxResults);
>         BuildProjections();
>         TransformUsing(Transformers.AliasToBean(typeof(CarViewModelMessage)));
>     }
>
>     private void BuildProjections()
>     {
>         SelectList(l =>
>             l.Select(c => c.IsFeatured)
>             //...
>             );
>
>     }
>
> }
>
> And you could call it using something like:
>
> var carsViewModel =
>     new FeaturedCarFinder(25)
>         .GetExecutableQueryOver(session)
>         .List<CarViewModelMessage>();
>
> Let me know how you get on.
>
> Cheers,
>     Richard
>
>
>
>
>
>
>
> -----Original Message-----
> From: Colin Ramsay
> Sent: Wednesday, January 12, 2011 3:48 PM
> To: nhusers
> Subject: [nhusers] Reusable QueryOver
>
> To keep my queries self-contained and potentially reusable, I tended
> to do this in NH2:
>
> public class FeaturedCarFinder : DetachedCriteria
> {
>     public FeaturedCarFinder(int maxResults) : base(typeof(Car))
>     {
>         Add(Restrictions.Eq("IsFeatured", true));
>         SetMaxResults(maxResults);
>         SetProjection(BuildProjections());
>         SetResultTransformer(typeof(CarViewModelMessage));
>     }
> }
>
> I'd like to use QueryOver now that I've moved to NH3, but I'm not sure
> how to do the above using QueryOver?
>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/nhusers?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to