Tôi gặp vấn đề với việc xóa các hàng có liên quan trong Khuôn khổ thực thể 4.1. Tôi có bảng với quan hệKhuôn khổ thực thể trên xóa tầng
Book 1 < ---> * BookFormats
tôi đã thiết lập trên cascade delete: tài sản
ALTER TABLE [dbo].[BookFormats] WITH CHECK ADD CONSTRAINT [FK_BookFormats_Book]
FOREIGN KEY([BookID]) REFERENCES [dbo].[Book] ([BookID]) on delete cascade
Các EDMX
Sau đó, , Tôi muốn xóa tất cả các mục BokFormats
có liên quan đến đối tượng Book
của tôi:
var originalBook = m.db.Book.First(x => x.BookID == bookId);
originalBook.BookFormats.Clear();
m.db.SaveChanges();
Nhưng, tôi nhận được lỗi:
The operation failed: The relationship could not be changed because one or more of the foreign-key properties is non-nullable. When a change is made to a relationship, the related foreign-key property is set to a null value. If the foreign-key does not support null values, a new relationship must be defined, the foreign-key property must be assigned another non-null value, or the unrelated object must be deleted.
Tôi chạy ra khỏi ý tưởng về làm thế nào để xóa các đối tượng này. Bất kỳ ý tưởng?
tốt sau đó tôi nhận được lỗi: Bộ sưu tập đã được sửa đổi; hoạt động điều tra có thể không thực hiện được. – Tony
@Tony, kiểm tra thay đổi mã. Không phải là cách đẹp nhất, nhưng hoàn thành công việc. – bdparrish