Bạn đã có thể đơn giản hóa truy vấn của mình như thế này;):
int start=page * recordsInPage;
var inner = (from user in db.Users
where user.Name.Contains(name) && !user.Deleted && user.AppearInSearch
orderby user.Verified descending
select new
{
Name = user.Name,
Verified = user.Verified,
PhotoURL = user.PhotoURL,
UserID = user.Id,
Subdomain = user.Subdomain,
Deleted=user.Deleted,
AppearInSearch = user.AppearInSearch
}
).Skip(start).Take(recordsInPage);
return await inner.ToListAsync();
Nếu bạn gặp sự cố về hiệu suất, hãy thử tạo một thủ tục được lưu trữ bằng SQL của bạn và sử dụng nó với Khung thực thể.