У меня проблема с удалением связанных строк в Entity Framework 4.1. У меня есть таблицы с отношениями
Книга 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
элементов, связанных с моим объектом Книга
:
var originalBook = m.db.Book.First(x => x.BookID == bookId);
originalBook.BookFormats.Clear();
m.db.SaveChanges();
Но я получаю сообщение об ошибке:
Операция не удалась: связь не может быть изменена, потому что одно или несколько свойств внешнего ключа не допускают значения NULL. Когда изменяется отношение, связанное свойство внешнего ключа установить на нулевое значение. Если внешний ключ не поддерживает нулевые значения, должно быть определено новое отношение, свойство внешнего ключа должно быть присвоено другое ненулевое значение, или несвязанный объект должен быть удалено.
У меня закончились идеи, как удалить эти объекты. Есть идеи?