Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Entity Framework:Đã có một DataReader mở được liên kết với Lệnh này

Nó không phải là về việc đóng kết nối. EF quản lý kết nối một cách chính xác. Sự hiểu biết của tôi về vấn đề này là có nhiều lệnh truy xuất dữ liệu được thực hiện trên một kết nối (hoặc lệnh đơn với nhiều lựa chọn) trong khi DataReader tiếp theo được thực thi trước khi lệnh đầu tiên hoàn thành việc đọc. Cách duy nhất để tránh ngoại lệ là cho phép nhiều DataReader lồng nhau =bật MultipleActiveResultSets. Một trường hợp khác khi điều này luôn xảy ra là khi bạn lặp lại qua kết quả của truy vấn (IQueryable) và bạn sẽ kích hoạt tải chậm cho thực thể đã tải bên trong lần lặp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bỏ qua câu lệnh WHERE nếu biến cho câu lệnh đó là null

  2. Sử dụng FILE_NAME () để trả lại tên tệp logic cho một ID tệp đã cho trong SQL Server

  3. Ràng buộc biểu thức chính quy SQL Server

  4. Câu lệnh SQL Server RAISERROR với các ví dụ đơn giản

  5. PHP, ORM, MSSQL và Unicode, có thể làm cho chúng hoạt động cùng nhau không?