Entity Framework 4 - как удалить отношения «многие ко многим» - PullRequest
0 голосов
/ 26 июня 2010

Не могли бы вы помочь мне разрешить удаление книг из моей базы данных?

Я пользуюсь EF 4 и имею отношения многие ко многим между книгами и авторами.Когда я пытаюсь удалить книгу, я получаю следующее:

Оператор DELETE конфликтует с ограничением REFERENCE "FK_BookAuthor_Book".Конфликт произошел в базе данных "C: \ PROGRAM FILES \ MICROSOFT SQL SERVER \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ NTCODING.MDF", таблице "dbo.BookAuthor", столбце "BookAuthor_Author_Id".Оператор был прерван.

Быть гуру SQL - это не то, чем я занимаюсь, но я думаю, что это говорит мне о том, что в таблице соединений есть запись, которую также необходимо удалить.Я не уверен, какое свойство мне нужно установить или какой бит кодирования мне нужно добавить.

Если вы поможете мне с этим, я был бы очень признателен.

Заранее спасибо

Ник

Ответы [ 2 ]

1 голос
/ 26 июня 2010

Когда вы создаете отношение внешнего ключа между таблицей книги и таблицей, лежащей между книгой и автором (то, которое разрывает отношение многих ко многим в двух отношениях один ко многим), попробуйте указать «каскад"действие на" вставить и обновить спецификацию ".То же самое для связи между авторами и средней таблицей.Таким образом, при попытке удалить автора (или книгу) все зависимые записи из средней таблицы будут удалены.

0 голосов
/ 26 июня 2010

Похоже, мое знание SQL было не так уж плохо. Я надеялся, что, удалив авторов из коллекции авторов книги, таблица соединений удалит записи .... a la fantastico!

Я должен был сделать это в действии контроллера моего веб-приложения, потому что я использую общий репозиторий и не преобразую его в книгу там. Так что, если вы знаете, как я мог бы применить это правило в своем хранилище, это было бы полезно.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...