There is a risk that I double post this message, though, I thought my user 
was confirmed and I cannot find my original message back. I'm very sorry if 
this is the case.

I'm performing a query on my database structure. The structure looks like 
this:

Country 1..M CountryLocales
1
..
M
Cities 1..M CityLocales

So a country has multiple locales and multiple cities. A city also has 
multiple locales. With the query I try to retrieve a city with it's 
locales, its country and the country locales. I did this with this query:

 City city = Session.Query<City>()
                          .Where(x => x.Id == id)
                          .Fetch(c => c.Country)
                          .ThenFetch(c => c.CountryLocales)
                          .FetchMany(x => x.CityLocales)
                          .AsEnumerable()
                          .FirstOrDefault();

This query has a problem. All the locale objects are fetched twice and thus 
double.

By Accident I fiddled a bit with the query and executed it. To my surprice 
it game me the correct result. This is the query I ran:

 City city = Session.Query<City>()
                          .Where(x => x.Id == id)
                          .Fetch(c => c.Country)
                          .FetchMany(x => x.CityLocales)
                          .AsEnumerable()
                          .FirstOrDefault();

So I left out the ThenFetch, I expected it to load everything without the 
Country locales, but instead it loaded what I wanted including the country 
locales. I'm now quite unsure what is going on here. Am I missing something?

Patrick

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


Reply via email to