Vấn đề là như sau:
-
SQLCLR không cho phép bất kỳ quyền truy cập dữ liệu nào bên trong TestFillRow
-
Mặc dù có vẻ "giống như TestFillRow của bạn không truy cập dữ liệu, nhưng cách trình biên dịch dịch mã với các câu lệnh" output "là thực sự trì hoãn việc thực thi nó cho đến khi lệnh gọi .MoveNext () đầu tiên đến trình vòng lặp. Do đó, câu lệnh sau:
using (SqlConnection con = new SqlConnection("context connection=true"))
được thực thi bên trong
TestFillRow
... bất hợp pháp.
Không sử dụng lợi nhuận thu về ; thay vào đó tải toàn bộ kết quả vào một List<>
và trả về danh sách ở cuối Hàm UD.