2013-01-17 5 views
1

EF 5, POCO 개체 및 SqlQuery를 사용하고 있습니다. 물체의 구체화는 약 20 초 정도입니다. SQL Management Studio를 사용하여 SQL 쿼리를 실행하면 약 2 초 후에 쿼리가 실행됩니다. (예제 this.context.mytable.SqlQuery (쿼리) .AsNoTracking.ToList())Entity Framework 5 SqlQuery 느린 구체화

이전에 EF 4, 생성 된 엔터티 및 ExecuteStoreQuery와 정확히 동일한 SQL 쿼리를 사용했습니다. 물체의 구체화는 약 10 초 정도 느리지 않았습니다.

왜 POCO의 성능 차이가 있습니까? 나는 이미 느린 (20 초) 결과와 함께 POCO를 사용하여 DbContext에서 ExecuteStoreQuery를 사용하여 시도했다.

어떤 아이디어?

미리 감사드립니다.

업데이트 :

  1. 엔티티 클래스 :
    두 엔티티 클래스는, 하나는 기본 클래스입니다. 이 둘 사이에는 약 27 개의 열/속성이 있으며 대부분 기본 클래스에 있습니다.

  2. 선택 결과 개체 수 :
    약 75K.

  3. 저장소 쿼리가 실행되고 :
    질의 뷰에서 선택 (열) 여기서 (1 = 1)

  4. API는 (DbContext 또는 ObjectContext의) 사용

  5. EF에서는
    5/POCO 시나리오 나는 DbContext를 사용하고있다.
    EF 4/생성 된 엔티티 시나리오에서 ObjectContext를 사용하고 있습니다.

    ** EF 5/DbContext를 사용할 때 DbContext SqlQuery와 같은 느린 결과를주는 ObjectContext 및 ExecuteStoreQuery 메서드 (하위 수준)에 액세스하려고 시도했습니다.

+0

개체 클래스, 선택 결과의 개체 수, 실행중인 쿼리 저장, 사용중인 API ('DbContext' 또는'ObjectContext') 등 자세한 정보를 제공하십시오. – Dennis

답변

0

거짓 경보 ... 많은 개체를 구체화 할 때 poco의 저하 된 성능에 약간의 반사가 발생했습니다.

관련 문제