我有以下看似简单的场景,但是我对NHibernate仍然很陌生。NHibernate - 无法初始化一个角色集合
当试图加载下面的模型在我的控制器的编辑动作:
控制器的编辑动作:
public ActionResult Edit(Guid id)
{
return View(_repository.GetById(id));
}
库:
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的最大好处是被破坏了。 – 2009-12-12 14:56:13