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 at
http://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.