Bình luận của Joe Zack là điều đã giúp tôi hiểu những gì đang xảy ra ở đây. Một lời giải thích rất rõ ràng và ngắn gọn. Đây phải là câu trả lời để những người đến đây hiển thị nhiều hơn từ tìm kiếm của google.
SqlCommand gọi sql với các tham số thông qua sp_executesql khi có tham số, có nghĩa là bảng tạm thời của bạn được tạo bên trong (và sau đó dọn dẹp) một thủ tục được lưu trữ để nó không khả dụng cho các cuộc gọi trong tương lai - ngay cả khi chúng chia sẻ cùng một kết nối