У меня есть следующий, казалось бы, простой сценарий, однако я все еще довольно новичок в NHibernate.NHibernate-неудачно лениво инициализировать коллекцию роли
При попытке загрузить следующую модель для редактирования действий на мой контроллер:
Редактировать действие контроллера:
public ActionResult Edit(Guid id)
{
return View(_repository.GetById(id));
}
Repository:
public SomeModel GetById(Guid id)
{
using (ISession session = NHibernateSessionManager.Instance.GetSession())
return session.Get<SomeModel >(id);
}
Модель:
public class SomeModel
{
public virtual string Content { get; set; }
public virtual IList<SomeOtherModel> SomeOtherModel { get; set; }
}
Я получаю следующее сообщение об ошибке:
-failed лениво инициализировать коллекцию роли: SomeOtherModel, не сеанс или сеанс не был закрыт
Что я здесь отсутствует?
Я бы не сделать это, так как открытие сделки для каждого вызова плохая практика.Изоляция транзакций и недоступна, кеш-память NHibernate больше не полезна (каждый вызов возвращает новый экземпляр), сохранение незнания невозможно, ленивая загрузка больше не работает. Короче: большинство преимуществ использования NHibernate уничтожается. –