Как удалить запись из таблицы соединений с внешними ключами Asp.Net

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

Пожалуйста, имейте в виду, что ограничение внешнего ключа не применяется в базе данных, и нет достаточно странной ошибки. Он просто не удаляет запись. Кроме того, я могу легко удалить другие записи из таблиц, которые не являются таблицами соединения.

Текущая структура, которую я использую, - это Asp.Net MVC2, но, поскольку я также пытался удалить ее с помощью объекта SqlCommand, и это не сработало, я не приписываю ее структуре. Следует отметить, что это работает, если я делаю это через хранимую процедуру или выполняю запрос в студии управления SQL. Кроме того, приложение в настоящее время не находится на том же сервере, что и база данных.

Любые идеи здесь?

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


person user1605772    schedule 17.08.2012    source источник
comment
Предполагая, что исключение не выбрасывается, интересно, где происходит вызов db.SaveChanges()? Это в вызывающей функции? (Если уж на то пошло, откуда берется db и находится ли он в блоке using()?). Большой пример кода может помочь сузить его.   -  person user700390    schedule 17.08.2012


Ответы (1)


Если у вас есть два стола

DataTable1
ID[PK]
Name

DataTable2
ID[FK] 
LastName

предположим, у вас есть эти две таблицы. Если вы удаляете записи из Datatable1, это выдаст ошибку, потому что вы используете внешний ключ ID в таблице Datatable2.

Сначала вы должны удалить запись из таблицы внешнего ключа, т.е. Datatable2.

person Ajay    schedule 26.08.2012