Trong chỉnh sửa của bạn, bạn đề cập đến 'Nhiều thực thể được thêm vào có thể có cùng một khóa chính.' lỗi. Nếu không biết tất cả chi tiết về những gì bạn đang làm ở đây, có vẻ như bạn đang tạo mối quan hệ với một thực thể - trong đó có hai thực thể trong ngữ cảnh có cùng một ID. Đây có thể là các thực thể mới chưa được lưu, đó là nơi chúng nhận được một ID được tạo tự động từ cơ sở dữ liệu. Nếu mối quan hệ dựa trên ID thì có một số mơ hồ vì Entity Framework không thể xác định thực thể mới mà mối quan hệ thực sự trỏ đến - cả hai đều có ID mà mối quan hệ đang trỏ đến.
Có hai cách sửa chữa tiềm năng.
-
Tạo số nhận dạng tạm thời, duy nhất cho các thực thể khi chúng được tạo trong ngữ cảnh. Entity Framework sẽ loại bỏ điều này khi thực thể được lưu nhưng cho đến thời điểm đó, nó có thể sử dụng nó để phân biệt một thực thể mới với thực thể khác. Tôi đã sử dụng số nguyên âm cho mục đích này trong quá khứ.
-
Không tạo các mối quan hệ bằng cách sử dụng ID mà là trên các tham chiếu thực thể. Nếu Entity Framework có tham chiếu trực tiếp đến thực thể, thì nó không cần phải trải qua quá trình xác định thực thể dựa trên các số nhận dạng không phải duy nhất và sẽ không có vấn đề này.