0

요청 당 하나의 ObjectContext에 대해 이야기하고 있습니다. (웹 응용 프로그램) 우리는 Application_BeginRequest와 Application_EndRequest 사이의 연결을 닫지 않습니다. 요청하는 동안 단일 ObjectContext가 있습니다. 요청하는 동안 열어서 닫지 않습니다.ExecuteStoreCommand에 대한 연결을 닫지 않는 다른 방법이 있습니까

Entity Framework에 ExecuteStoreCommand가 있지만 성능에 약간 위험합니다. 왜냐하면 우리가 그것을 사용할 때 (나는 생각한다) 그것은 연결을 닫는다. 우리가 ObjectContext를 사용할 때 그리고이 연결이 다시 열린 후 (이 성능 문제인가?)

그래서 ExecuteStoreCommand (를) 대체 할 수있는 다른가 아니면 내가 미친 :

답변

0

"닫기"와 "열기"연결이되지 않습니다이다 connection pooling을 올바르게 사용하면 실제 성능에 영향을 줄 수 있습니다. 연결 풀은 여러 개의 후속 조치로 다시 사용되는 여러 개의 열린 연결을 보유합니다. 대부분의 경우 열리는 것은 "나에게 수영장에서 연결"을 의미하고 닫으면 "수영장으로 연결되다"를 의미합니다. 풀에서 사용할 수있는 풀이없는 경우 연결 풀에서 새 연결 열기를 처리 할뿐만 아니라 동시에 사용되는 연결 수를 제한합니다. 연결 풀은 연결 문자열 + 사용자 ID별로 정의됩니다.

ExceuteStoreCommand 명령 실행을 시작할 때 연결이 열려 있지 않은 경우에만 연결을 닫습니다. 즉, 컨텍스트에 전달 된 자체 연결을 사용하면 닫히지 않습니다.

+0

커밋되지 않은 다음 명령을 설정하기 위해 ExecuteStoreCommand를 사용하고 싶습니까? ExecuteStoreCommand ("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;") –

관련 문제