2014-12-25 3 views
0

기준을 사용하고 사용자 권한 부여와 관련된 다른 기준을 추가 한 다음 해당 조건과 일치하는 레코드 수를 필요한 페이지와 함께 반환하는 요청 처리기가 있습니다.Entity Framework 개수 및 목록 동시 사용

public PageResult GetPage<T>(Expression<Func<T, bool>> filter = null, int start, int count) 
    { 
     var query = db.Set<T>(); 
     //apply some criterias, sorting, etc to criteria 
        recordCount = query.Count(); 
        if (start != 0) 
         query = query.Skip(start); 
        if (count != 0) 
         query = query.Take(count); 
        var data = query.ToList(); 
     return new PageResult {rowCount = recordCount, data = data}; 
    } 

EF 버전 6을 사용하고 있습니다. Count 및 Top x 쿼리를 비동기식으로 또는 병렬로 쉽게 실행할 수있는 방법이 있습니까?

답변

1

동일한 DbContext 개체에서 두 개의 쿼리를 비동기 적으로 실행할 수 없으므로 유일한 방법은 두 개의 컨텍스트 (각 스레드마다 하나씩)를 만드는 것입니다. 여기

상세 정보 : http://visualstudiomagazine.com/articles/2014/04/01/async-processing.aspx

+0

좋아, 내가 PLINQ는 이해가되지 않습니다 생각도, 맞죠? – hazimdikenli

+0

PLINQ는 Linq to Objects를위한 것이 아니라 Linq to Objects를위한 것입니다. – Jcl