FirstOrDefault () прерывает FetchType = объединить с Linq в NHibernate - PullRequest
2 голосов
/ 19 мая 2009

Если я сделаю

Session.Linq<MyClass>().Where(x => x.Id = someId).FirstOrDefault();

, где MyClass содержит набор загруженных дочерних объектов, FirstOrDefault(), кажется, препятствует этому, добавляя TOP 1 в SQL.

Это просто ошибка (функция?) В Linq2NH (которая, как я понимаю, переписывается) или я что-то упустил?

Есть ли предпочтительная альтернатива, которая работает правильно?

Спасибо

1 Ответ

3 голосов
/ 19 мая 2009

Похоже, что это ошибка, по моему мнению FirstOrDefault - довольно четко определенный оператор Linq, и он не имеет ничего общего с быстрой / ленивой загрузкой, поэтому он не должен его нарушать.

Полагаю, таких нюансов много, поэтому библиотека не готова к работе. Я предлагаю отправить сообщение об ошибке разработчикам.

На мой взгляд, единственный вариант - возврат к DetachedCriteria (или HQL).

...