поэтому у меня есть запрос синтаксиса linq:
var parents = (from p in session.Query<Parent>()
from c in p.Children
where c.Name == "John"
select p).ToList()
, который приводит к следующему выражению select (сокращенно для краткости):
select p.*
from Parents p
inner join Children c
on p.Id = c.ParentId
where c.Name = 'John'
проблема, с которой я столкнулсяэто то, что хотя и выполняет внутреннее соединение с дочерними объектами, оно не гидратирует коллекцию, которую мне нужно гидратировать.
Если я изменю код на следующий:
var parents = (from p in session.Query<Parent>()
from c in p.Children
where c.Name == "John"
select p).FetchMany(p => p.Children).ToList()
выражение sqlсоздается со вторым соединением (левое внешнее соединение) с таблицей Children.Как мне сказать nhibernate гидрировать родительскую сущность со всеми детьми, не создавая еще одно соединение?
Спасибо ...