EF один ко многим (обнуляемый) удалить - PullRequest
0 голосов
/ 11 октября 2018

Я удаляю родительскую сущность в своем контроллере MVC и получаю эту ошибку:

[SqlException]: оператор DELETE конфликтует с ограничением REFERENCE "FK_dbo.MessageThread_dbo.Listings_ListingID".Конфликт произошел в базе данных «MyDB», таблице «dbo.MessageThread», столбце «ListingID».Заявление было прекращено.в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое breakConnection, Action`1 wrapCloseInAction)

Таблица MessageThread отображается в EF следующим образом:

// Relationships
this.HasOptional(t => t.Listing)
        .WithMany(t => t.MessageThreads)
        .HasForeignKey(d => d.ListingID);

ListingID (родительский) столбец в MessageThread (дочерний): nullable

Я просмотрел этот пост , но ответы не помогли.

Согласно this , не должно ли отображение EF удалить родительскую запись и установить для дочерних значений ListingID в MessageThread значение null?

1 Ответ

0 голосов
/ 11 октября 2018

Невозможно удалить из этой таблицы

dbo.MessageThread", column 'ListingID'

Поскольку у вас есть внешний ключ к этой таблице

FK_dbo.MessageThread_dbo.Listings_ListingID

Прежде чем продолжить, удалите значение поля внешнего ключа.

или вы можете сделать это, нажав Cascading Deletion, перейдя по этой ссылке

Каскадное удаление

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