Linq to NHibernate, генерирующий несколько соединений с одной и той же таблицей

Когда у меня есть ссылка на ту же таблицу в моем выборе, что и в моем предложении where, linq to Nhibernate генерирует два соединения, один для выбора и один для того, где. ie

from child in Session.Query<Child>()
where child.Parent.Name == "Bob" 
select new Info 
{ 
   ParentAge = child.Parent.Age, 
   ChildName = child.Name
};

Генерирует SQL, например:

Select this_.Name,
       parent1.Age
From Child this_
     left join Parent parent1 on child.ParentId = parent1.Id,
Parent parent2

Where child.ParentId = parent2.Id and parent2.Name = 'Bob'

Я бы подумал, что мне нужно получить SQL, более похожий на:

Select this_.Name,
       parent1.Age
From Child this_
         inner join Parent parent1 on child.ParentId = parent1.Id
Where parent1.Name = 'Bob'

Есть ли способ структурировать запрос, чтобы получить это? Does it matter?

7
задан Sly 16 November 2011 в 13:12
поделиться