프로젝트에 NHibernate를 사용하고 있습니다. 난 꽤 NHibernate에서 일하는 초보자입니다.많은 수의 NHibernate와 ISession.Close()
"사용자"와 "역할"을 다 대다 관계 매핑으로 사용합니다. 이 예외가 발생
public User GetUser(int userId){
using(ISessuib session = new SessionManager().GetSession())
{
return session.Get<User>(userId);
}
}
public void LazyLoadUsingSessionTest(){
var user= GetUser(1);
Assert.NotNull(user.Roels);
}
: 다음은 사용자가 얻을 수있는 코드 내가 "사용"문을 사용하지 않는 경우 가 유유히 컬렉션을 초기화하지 못했습니다은 어떤 세션이나 세션은
폐쇄되지 않았다 "GetUser"메서드에서 작동합니다. 하지만, 난 만) 인 getUser를 (사용하려면 내가 웹 페이지에서 사용할 때 리소스
을 해제하기 위해 session.Close()를 호출해야하지 ISession 내 질문을 object.so입니다 : 내 웹 페이지에 Resession 객체를 가져야한다는 뜻인가요? 또는 더 나은 솔루션은?
덕분에 (내가 ISession 객체 내 aspx.cs 파일에 나타납니다 싶지 않기 때문에)!
죄송합니다. 그러나 이것은 좋은 조언이 아닙니다. 이렇게하면 게으른 로딩과 트랜잭션 격리를 동시에 파괴 할 수 있으며 많은 쓰레기로 코드를 날려 버릴 수 있습니다. –