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

Bản sao không thể tin được trong một truy vấn khung thực thể

Tôi đã gặp sự cố tương tự và tôi đã giải quyết nó bằng cách thay đổi tùy chọn hợp nhất của ObjectSet. Ví dụ:

    using (TargetDBDataContext db = new TargetDBDataContext())
    {
        db.SomeView.MergeOption = System.Data.Objects.MergeOption.NoTracking;
        return db. SomeView.ToList();
    }

Có vẻ như khung thực thể (EF) không xử lý chính xác các chế độ xem có khóa chính trùng lặp hoặc không có khóa chính nào cả. Vì vậy, khi có hai hàng mà EF được coi là bằng nhau, EF sẽ tải hàng đầu tiên như bình thường nhưng sẽ không tải hàng thứ hai vì nó sẽ coi là hàng đã được tải.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận trạng thái công việc máy chủ SQL

  2. Xóa khỏi CTE với tham gia

  3. SQL Server - Ưu và nhược điểm của Dirty Reads

  4. bất kỳ giới hạn nào về số lượng kết nối SQL Server?

  5. IO STATISTICS trong SQL Server là gì?