2009-03-31 2 views
3

모든 패턴을 볼 수 있지만 Linq to SQL은이 패턴을 구현하지 않습니다. Session/Unit-of-Work 객체가 경량 (성능 저하없이 작성 및 파괴 될 수 있음)하고 연결 풀링이 데이터베이스 연결을 유지하면 왜 요청 당 세션 패턴이 필요한가?언제 요청 당 세션 패턴을 사용해야합니까?

답변

3

세션 당 요청의 개념은 세션을 열고 닫을 때 더 중요하다고 생각합니다. 성능 향상에 대한 정보가 아닙니다.

아이디어는 당신의 코드가 이제까지

  • 귀하의 비즈니스 로직 당신의 프레임 워크를 호출하기 전에 트랜잭션을 시작하는 세션을 열기

    1. 마지막 수까지 데이터베이스에 대한 모든 권한을 가지고 있다는 것입니다 순간
    2. 귀하의 거래가 귀하를 대신해서 커밋해야하는 번거 로움이 없습니다.

    웹 프레임 워크와 데이터의 지연로드를 혼합 할 수 있도록 # 2 아이디어가 중요합니다. 코드가 실행 된 후에 데이터를 렌더링하는 동안 getter 메서드가 호출되고 세션을 닫은 경우 해당 getter의 결과를 지연로드 할 수 없습니다.

  • 0

    사실 이것은 거의 모든 자습서가 피해야하는 좋은 질문입니다.

    지연로드를 사용하지 않는 경우에는 필요하지 않습니다.

    관련 문제