У меня проблема с удалением связанных строк в Entity Framework 4.1. У меня есть таблицы с отношениямиEntity Framework при удалении каскада
< Книга 1 ---> * BookFormats
Я установил при удалении каскада:
ALTER TABLE [dbo].[BookFormats] WITH CHECK ADD CONSTRAINT [FK_BookFormats_Book]
FOREIGN KEY([BookID]) REFERENCES [dbo].[Book] ([BookID]) on delete cascade
EDMX свойство
Тогда , Я хочу удалить все BokFormats
элементов, связанных с моим Book
объектом:
var originalBook = m.db.Book.First(x => x.BookID == bookId);
originalBook.BookFormats.Clear();
m.db.SaveChanges();
Но, я получаю ошибку:
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.
Я выбежала из идей о том, как удалить эти объекты. Есть идеи?
ну тогда я получаю сообщение об ошибке: Коллекция была изменена; операция перечисления может не выполняться. – Tony
@ Тони, проверьте изменение на код. Не самый красивый способ, но выполняет свою работу. – bdparrish