Я только что преобразовал свое приложение из LINQ2SQL в NHibernate, и я пытаюсь выяснить, как оптимизировать следующий пример. Я попытался использовать метод .Future, но когда мой сеанс закрывает представление, затем пытается извлечь данные, и я получаю ошибку закрытия сеанса.
Кто-нибудь знает какие-либо лучшие практики для такого рода вещей? У меня есть много сценариев, где я вызываю метод в LINQ, который получает данные с помощью NHibernate, но я не хочу возвращать загрузки данных это не обязательно.
Способ получения всех книг:
public IEnumerable<Book>GetAllBooks()
{
try
{
using (ISession session = NHibernateHelper.OpenSession())
{
return session.CreateCriteria<Widget>().ToList<Book>();
}
}
catch (Exception ex)
{
//Error stuff here
}
}
Метод, расширяющий эту функциональность
public IEnumerable<Book> GetDefaultBookReadingList()
{
return from p in GetAllBooks()
where p.IsDefault
select p;
}