Như @Ladislav đã nói, EF 5 không hỗ trợ OFFSET &FETCH. Với điều đó đã nói, tôi muốn thêm một chút quan điểm. Tôi nghĩ nó không quan trọng lắm.
Khi bạn mua ORM như Entity Framework, bạn đang tìm nguồn tạo truy vấn của mình (vì những lý do hoàn toàn hợp lệ). EF có sử dụng CTE
'cũ hơn' hay không truy vấn kiểu với Row_Number()
hoặc Fetch
mới hơn / Offset
là một chi tiết thực hiện. Microsoft có thể cập nhật mã EF tại bất kỳ thời điểm nào và thay đổi cách tạo truy vấn để sử dụng mã này hoặc mã khác.
Nếu bạn muốn kiểm soát việc tạo truy vấn, bạn có thể:
- Sử dụng khả năng 'lập bản đồ thủ tục được lưu trữ' của EF
- Sử dụng các thủ tục được lưu trữ trực tiếp với EF (điều mà tôi thường làm)
- tự viết ADO / SQL hoặc
- sử dụng một tổ chức vi mô hạn chế hơn như lớn / PetaPoco
Vậy nó có quan trọng không?
Chà, đối với một nhà phát triển viết truy vấn, cú pháp mới sẽ là một giải pháp đáng hoan nghênh. Mặt khác, nó không xuất hiện rằng có sự khác biệt về hiệu suất thực sự giữa phương thức CTE cũ và cú pháp mới. Vì vậy, từ quan điểm của EF - không thực sự. Chúng tôi phải chịu chi phí đáng kể sử dụng EF, phương pháp phân trang có thể sẽ không phải là điểm dừng của bạn.