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

Khung thực thể không thể cập nhật dữ liệu trong bảng bằng khóa tổng hợp (Oracle)

Vui lòng bao gồm:

  • Định nghĩa thực thể
  • Lớp / cấu hình ánh xạ từ ngữ cảnh
  • Định nghĩa bảng SQL

BackPropagateServerGen

Nhìn vào dấu vết ngăn xếp, điều quan trọng tôi thấy là BackPropagateServerGen .

Entity Framework đang chạy bản cập nhật của bạn dựa trên cơ sở dữ liệu, nhưng một trong các giá trị khóa tổng hợp của bạn (có lẽ là COPY_ID) đang thực sự bị thay đổi bởi lệnh gọi UPDATE. Giá trị do máy chủ tạo này sẽ quay trở lại từ lệnh gọi SQL và Entity Framework sau đó phàn nàn rằng giá trị khóa đang bị thay đổi so với bên dưới nó.

Vì vậy, tôi đoán rằng giá trị khóa tổng hợp COPY_ID của bạn được xác định là giá trị nhận dạng do máy chủ tạo, nhưng một hoặc cả hai giá trị này đang xảy ra:

  • Bạn đang ánh xạ tới một chế độ xem hoặc một thủ tục được lưu trữ đang can thiệp vào những gì Khuôn khổ thực thể mong đợi về một CẬP NHẬT mới nhất
  • Bạn có một hoặc nhiều trình kích hoạt trên bảng, chế độ xem hoặc quy trình được lưu trữ đang ảnh hưởng đến kết quả.

Nếu bạn có bất kỳ trình kích hoạt nào, hãy tạm thời tắt chúng để xem sự cố có xảy ra hay không, sau đó dừng lại.

Nếu bạn đang ánh xạ tới một dạng xem hoặc một thủ tục được lưu trữ, hãy thử ánh xạ trực tiếp tới bảng nếu có thể.

Sử dụng bất kỳ công cụ cấu hình nào bạn có để nắm bắt những gì SQL đang được thực thi bởi mã.

Tóm tắt

Tôi nghĩ rằng lệnh gọi UPDATE thực sự đang đến cơ sở dữ liệu, nhưng kết quả trả về đang thay đổi (các) giá trị khóa, khiến Entity Framework không thành công và có khả năng quay ngược giao dịch UPDATE (tùy thuộc vào phiên bản EF bạn đang sử dụng).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Viết truy vấn SQL để tìm sinh viên đăng ký các đơn vị được cung cấp ở một địa điểm?

  2. Cách chèn ngày trong cơ sở dữ liệu quan hệ Oracle bằng C #

  3. Làm cách nào để loại bỏ một ràng buộc không null trong Oracle khi tôi không biết tên của ràng buộc?

  4. Tìm kiếm một chuỗi cho một mẫu biểu thức chính quy và thay thế mỗi lần xuất hiện dưới dạng một dẫn xuất của chính nó trong SQL oracle

  5. Kiểm tra các ngày trùng lặp trên bất kỳ hàng nào của bảng Oracle SQL