2012-03-19 6 views
0

Если создан веб-сайт с использованием MVC3 и к нему подключена база данных. Все они связаны друг с другом. У меня есть таблица для стран, таблица для штатов, таблица для городов. Теперь, когда я удаляю, например, страну, государства и города, прикрепленные к ней, все еще остаются в базе данных. Я не вижу их в списке контроллеров, но они отображаются в раскрывающемся списке, когда вы выбираете, например, состояние при создании города. Как это исправить ?ASP.NET MVC3 Ошибка строки базы данных SQL базы данных

спасибо в продвинутом виде.

+3

Это очень неопределенный вопрос. Пожалуйста, поделитесь своим кодом и моделью базы данных. Существуют ли внешние ограничения между странами, городами и государствами? Если это так, вы можете использовать ON DELETE CASCADE для внешних ключей. – danludwig

+0

Это объясняется в http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net -mvc-application – RickAndMSFT

ответ

3

Использование внешних ключей устанавливает их в ВКЛ. УДАЛИТЬ КАСКАД, как показано на скриншоте. Таким образом, когда вы удаляете страну, она автоматически удаляет состояния, города и т. Д., Которые зависят от нее.

enter image description here

Или вручную перебрать и удалить их самостоятельно, начиная с городов, а затем их состояния, а затем родительскую страну.

Вы должны использовать внешние ключи, хотя ..

+2

Спасибо, я использовал внешние ключи, но я думаю, что у меня нет этой опции! – Arcade

+1

+1 еще. Я использовал код так долго, что никогда не реализовал mssql, наконец, получил опцию SetNull cascade. Я знаю, что это было в ANSI sql некоторое время, и всегда задавались вопросом, когда это произойдет на сервере sql. – danludwig

+0

Это объясняется в http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net -mvc-приложение – RickAndMSFT

Смежные вопросы