나는 SQL 스크립트를 실행하여 데이터베이스와 테이블을 생성 한 다음 데이터를 삽입하는 테스트 콘솔 앱을 가지고있다. DAO를 사용하여 테이블을 생성, 검색, 업데이트 및 삭제 한 다음 데이터베이스를 삭제하려고 시도하지만 현재 사용 중이므로 DAO를 사용할 수 없습니다. 어떻게 연결을 끊을 수 있습니까? 디버깅을하고 SQL 스크립트를 실행하여 총 연결을 확인한 결과, 연결을 종료하지 않는 코드 조각으로 좁혀졌습니다. 연결이 해제되었다고 말하면서도 데이터베이스는 여전히 연결되어 있다고 말합니다.SQL 연결 닫기 (NHibernate)
foreach (ISessionFactory factory in this.connections.Values)
{
factory.Close();
}
this.connections.Clear();
this.connections = null;
일반적으로, 당신은 SessionFactory를 닫을 필요가 없습니다 ... 직접 NHibernate에 통해이 작업을 수행 할 수 있을지 모르겠지만, 당신은 ClearPool 또는 ClearAllPools 전화 발행하는 SQLConnection 객체를 사용할 수 있습니다 . 왜 여러 세션 요인이 있습니까? 코드의 다른 곳에서 연결이 열려있을 수 있습니다. – Paco