Ситуация: У меня есть 3 таблицы:C# Удаление строки из нескольких таблиц
movies
(pk:movietitle, movielength
.... и т.д.)rentals
(pk:personid, fk:movietitle,
... и т.д.)rentingpeople
(pk+fk:personid, name, phone
.. .etc)
В моей форме есть привязка listbox, содержащая названия фильмов, рядом со списком есть текстовые поля bindingsourc ред от db.movies
Когда кто-то нажать на кнопку rentthismovie
Я хотел бы, чтобы удалить текущие АРЕНДЫ данные об этом фильме из таблицы rentals
и rentingpeople
.
я написал первую часть и получить ошибку из-за внешнюю проблемой ключей (я уже упоминал первичный ключ, как pk
и внешний ключ, как fk
в таблицах выше)
var search = (from g in db.Rentals
where g.Movietitle == (string)listBox1.SelectedValue select g).First();
db.Rentals.DeleteObject(search);
db.SaveChanges();
Я получаю сообщение об ошибке:
The DELETE statement conflicted with the REFERENCE constraint \"FK_Rentingpeople_Rentals\". The conflict occurred in database \"C:\USERS\PC\DOCUMENTS\VISUAL STUDIO 2010\PROJECTS\FILMEK\FILMEK\BIN\DEBUG\DATABASE1.MDF\", table \"dbo.Rentingpeople\", column 'personid'.\r\nThe statement has been terminated.
Из-за подключения к первичному-внешнему ключу я должен удалить данные из таблицы rentingpeople
, так как я прочитал эту ошибку, но не могу найти рабочего решения.
У вас есть другой стол, где вы храните информацию о людях, которые являются «членами», и можете арендовать, кроме вашей таблицы «rentingpeople»? – Floremin