새 개체 쿼리를 작성할 때 TOP 또는 SKIP 기능을 구현하는 데 문제가 있습니다.Entity Framework - 동적 쿼리를 사용하는 TOP
"IN"명령을 사용해야하기 때문에 eSQL을 사용할 수 없습니다. IN을 반복하여 "OR"매개 변수로 추가하면 상당히 복잡해질 수 있습니다. 내가 .Top의 양식을 사용하거나 .Skip 경우
Using dbcontext As New DB
Dim r As New ObjectQuery(Of recipient)("recipients", dbcontext)
r.Include("jobs")
r.Include("applications")
r = r.Where(Function(w) searchAppIds.Contains(w.job.application_id))
If Not statuses.Count = 0 Then
r = r.Where(Function(w) statuses.Contains(w.status))
End If
If Not dtFrom.DbSelectedDate Is Nothing Then
r = r.Where(Function(w) w.job.create_time >= dtDocFrom.DbSelectedDate)
End If
If Not dtTo.DbSelectedDate Is Nothing Then
r = r.Where(Function(w) w.job.create_time <= dtDocTo.DbSelectedDate)
End If
'a lot more IF conditions to add in additional predicates
grdResults.DataSource = r
grdResults.DataBind()
오류가 발생합니다 :
코드는 다음과 같습니다 쿼리 빌더 방법은 엔티티에 LINQ 지원되지 않습니다
어떤 방법이 쿼리 이 방법을 사용하여 TOP 또는 Limit를 지정 하시겠습니까? 가능한 경우 1000 개의 레코드를 반환하는 쿼리를 피하고 싶습니다. (그것은 사용자 검색 화면입니다)