У меня проблема с удалением связанных строк в Entity Framework 4.1. У меня есть таблицы с отношениями
Книга 1 < --- > * BookFormats
Я установил каскад on delete:
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();
Но я получаю сообщение об ошибке:
Не удалось выполнить операцию: отношения не могут быть изменены, поскольку одно или несколько свойств внешнего ключа не имеют значения NULL. Когда изменение производится в отношении, связанное с ним свойство внешнего ключа установить на нулевое значение. Если внешний ключ не поддерживает нулевые значения, необходимо определить новое отношение, свойство внешнего ключа должно быть назначено другое ненулевое значение, или не связанный с ним объект должен быть удален.
У меня кончились идеи о том, как удалить эти объекты. Любые идеи?