5

MS SQL 2008을 사용하여 Entity Framework 1에서 생성 된 SQL의 성능을 분석하고 있습니다.내 Entity Framework에서 생성 된 SQL이 두 번 실행됩니까?

SQL Server Profiler 2008에서 추적을 실행하면 예상치 못한 것을 발견했습니다. 실행되는 각 쿼리에 대해 exec sp_reset_connection statement으로 구분 된 두 개의 RPC:Completed 문을 얻습니다. 이것은 예상 된 행동입니까?

SQL Server Profiler Results

+0

실행중인 코드를 게시 할 수 있습니까? –

+0

@ajcvickers 제가 다루고있는 시스템은 다소 크기 때문에, 코드를 그대로 공급하는 것은 불가능합니다. 프로토 타입을 함께 가져 오는 데는 시간이 걸릴 것입니다. 나는 네가 그 때 그걸 기대 한 것이 아니라고 생각하니? – Tr1stan

+0

LINQ to Entities 쿼리 (예 : ToList())가 열거 될 때마다 쿼리가 데이터베이스에 대해 실행됩니다. 나는 그것이이 것인지 궁금해하고 있었다. –

답변

2

답변 :

그것은 내 문제를 일으키는 AutoMapper 내에서 "기능"이라고 밝혀졌습니다.

는 여기를 참조하십시오 : When Mapping an IQueryable I see the database getting hit twice in my profiler.

을 나는 그것을 고칠 것 같은이 보이지 않는 버전 1.1 (.NET 3.5)를 사용하고 불행하게도 때문이다.

해결 방법 : Mapper.Map() 방법으로 전달 이전 된 IQueryable 개체 전화 .ToList(). Mapper가 개체를 열거하도록 허용하면 이중 실행이 발생합니다.

관련 문제