BTW. Can we force NH to produce more optimal SQLs using QueryOver?
Sorry, there's no option to force NH to produce more optimal SQL.
-----Original Message-----
From: Macko
Sent: Tuesday, December 28, 2010 9:56 AM
To: nhusers
Subject: [nhusers] Re: Summary entities and QueryOver
On 27 Gru, 20:29, "Richard Brown \(gmail\)" <[email protected]>
wrote:
Hi Macko,
What you have looks almost right to me. I think you can pull the whole
movie object in (which I think is what you were trying to do):
GenreSummary summary = null;
var summaryList =
s.QueryOver<MovieGenre>()
.SelectList(l => l
.SelectGroup(mg => mg.Film).WithAlias(() => summary.Film)
.SelectCount(mg => mg.Id).WithAlias(() => summary.GenreCount))
.TransformUsing(Transformers.AliasToBean<GenreSummary>())
.List<GenreSummary>();
Yes, you're right, but the problem is that if i want to include in
summary additional column (for example MovieTitle, PremiereDate) I
should include this columns using .SelectGroup (not .Select). This
QueryOver doesn't produce SQL which I gave in my post, but for small
amounts of data execution time is negligible low.
Alternatively you could alias the reference to the movie too so that you
can
pull out the film's title (rather than it's ID, or the whole object) in
this
case:
I found a lot simplier solution to achive same result but it can gain
performance issues on large amount of data.
summaryList = session.Query<Movie>()
.Select( o => new MovieSummary()
{
Id = o.Id,
Title = o.Title,
GenresCount = o.Genres.Count
}).ToList();
This Linq-2-NH query produces correlated subquery for every movie
record.
Thanks Richard
BTW. Can we force NH to produce more optimal SQLs using QueryOver?
--
Regards,
Macko
--
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.