2009-08-15 3 views
27

Entity Framework에서 "Entities"개체를 인스턴스화하고 해당 Entities 개체를 사용하여 몇 가지 쿼리를 만들면 연결은 어떻게됩니까?Entity Framework는 언제 데이터베이스 연결을 열고 닫습니까?

  • 개체를 인스턴스화 할 때 연결을 열고 처리 할 때 닫으시겠습니까?
  • 내가 실행하는 단일 쿼리마다 연결을 열고 닫을 수 있습니까?

두 경우 모두 변경할 수 있습니까?

+2

6 세의 질문에 대한 매우 중요한 편집이었던 Wow @ pb2q! 잘 했어! –

+0

dMagiola : 문제 없습니다. 모든 개선 사항을 도와 드리겠습니다 : 중요하거나 그렇지 않은 경우, 이전 또는 신규. 계속 물어봐! – pb2q

답변

3

EF6에서 동작이 다소 변경되어 열려있는 연결을 전달하거나 나중에 직접 EF 연결을 열 수 있습니다. 체크 아웃 https://msdn.microsoft.com/en-us/library/dn456849(v=vs.113).aspx

+0

링크를 이용해 주셔서 감사합니다. C#의'using' 절을 통해 열린 연결을 선언 할 방법이 없습니까? 예 : '(var conn = openAConnection()) 사용하기'. 공유하는 링크는 관련 컨텍스트가 삭제 될 때 닫히는 연결을 수동으로 여는 것으로, 이는 직관적이지 않고 해킹 된 것처럼 보입니다. – aaaaaa

+0

@aaaaaa - 아마도 EF5와 이전 예제를보고 계신 것입니까? 두 번째 코드 예제에서는 'using'절을 원한다. 실제로 연결을 통해 수동으로 작업하려는 경우이 문제에 대해서만 염려해야합니다. EF 외부의 명령문을 실행합니다. 필요없는 경우 연결을 열거 나 닫는 것에 대해 생각할 필요가 없습니다. – Rory

+0

"ES6 및 이후 버전의 동작":'conn.Open();'. 그것이 나를 괴롭히는 선이다. 그리고 네, 저장 프로 시저 (DB 요청을 뷰 당 하나씩 유지하려고 시도)에서 여러 결과 집합을 가져 오는 것이 분명합니다. – aaaaaa