Loại mã bạn đang viết rất dễ bị SQL Injection. Thay vì xử lý trình đọc như hiện tại, bạn chỉ có thể sử dụng Thuộc tính RecordsAffected để tìm số hàng trong trình đọc.
CHỈNH SỬA:
Sau khi thực hiện một số nghiên cứu, sự khác biệt bạn đang thấy là sự khác biệt về thiết kế giữa kết nối ngữ cảnh và kết nối thông thường. Peter Debetta đã viết blog về điều này và viết:
"Kết nối ngữ cảnh được viết sao cho nó chỉ tìm nạp một hàng tại một thời điểm, vì vậy, đối với mỗi trong số 20 triệu hàng lẻ, mã yêu cầu từng hàng riêng lẻ. Tuy nhiên, sử dụng kết nối không theo ngữ cảnh, nó yêu cầu giá trị 8K hàng tại một thời điểm. "
http://sqlblog.com /blogs/peter_debetta/archive/2006/07/21/context-connection-is-slow.aspx