Tôi đang cố gắng cập nhật một thực thể có mối quan hệ FK trong EntityFramework 4.3 Code Đầu tiên. Tôi cố gắng đính kèm với các điều khoản liên quan bằng cách gọi: Mục nhập (mục) .State = EntityState.UnchangedEntityFramework Code Đầu tiên - Kiểm tra xem thực thể có được đính kèm
Tôi nhận được ngoại lệ sau: Một đối tượng có cùng khóa đã tồn tại trong ObjectStateManager. ObjectStateManager không thể theo dõi nhiều đối tượng bằng cùng một khóa.
Tôi không cập nhật các mục này cũng như không có thuộc tính id cho chúng trên thực thể chính của tôi. Có thể biết các thực thể nào được đính kèm hay không?
Cảm ơn trước, Radu
Bạn có thể sử dụng phương pháp ObjectContext.ObjectStateManager.GetObjectStateEntries() (http://msdn.microsoft.com/en-us/library/bb738497.aspx) để có được tất cả các thực thể được theo dõi bởi bối cảnh. Lưu ý rằng điều này có thể là có các thực thể trong cơ sở dữ liệu không được ObjectContext theo dõi. Bạn cần phải cung cấp một trạng thái để cho ObjectStateManager biết những thực thể nào bạn cần (các enums này có thuộc tính Flags để bạn có thể kết hợp các giá trị khác nhau bằng cách sử dụng |) – Pawel