какой-то способ установки fk в null при удалении в коде EF 6 первым - PullRequest
0 голосов
/ 11 июля 2019

Я понимаю, что EF6 не поддерживает это, но EF Core поддерживает ( Как обновить FK до нуля при удалении необязательной связанной сущности ), но вот почему мне это нужно:

Пример: допустим, у меня есть машина -> двигатель. Двигатель будет содержать поле автомобиля, которое будет относиться к автомобилю. Если двигатель вынимается из машины, а машина уничтожена, я бы хотел, чтобы значение поля машины в машине автоматически устанавливалось на ноль.

В моем веб-приложении мне нужен эффективный способ удаления машин, которые, как я знаю, не имеют зависимостей, поскольку они устанавливаются как обнуляемые в своих отношениях с двигателями. Я хотел бы использовать EF6 ExecuteSqlCommand для того, чтобы просто удалять автомобили из БД, но я не в состоянии, потому что, когда EF6 конфигурирует эти отношения, он не настраивает сервер SQL для установки внешнего ключа равным нулю при удалении. Я бы предпочел не удалять его с помощью функции EF6 Remove (), потому что тогда мне сначала нужно загрузить все связанные объекты, иначе это выдаст мне ошибку. Я думаю, что неэффективно загружать все связанные объекты, которые я не буду использовать, просто чтобы удалить одну сущность.

Кто-нибудь придумал решение, в котором я мог бы просто как часть либо миграции, либо настройки контекста БД установить FK на нулевое значение при удалении при создании этих отношений в EF6?

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