ASP.NET Core 2.2 проект с Entity Framework Core; Я выполняю первую EF Migration для создания базы данных:
Вот мои шаги:
- Я запускаю
Add-Migration myFirstMigration
в консоли диспетчера пакетов
- Я вручную редактирую файлы миграции, а также
DbContextModelSnapshot.cs
, чтобы изменить все экземпляры с DeleteBehavior.Cascade
на DeleteBehavior.Restrict
, потому что я просто хочу, чтобы выдавалась ошибка, если строка удаляется / обновляется, что вызывает нарушение ограничения FK
- Я запускаю
Update-Database
, который создает базу данных в SQL Server
Вот часть, которая меня смущает: Если я теперь снова выполню Add-Migration
, создается миграция, в которой он хочет отбросить ограничения внешнего ключа и повторно добавить их с помощью DeleteBehavior.Cascade
.
Почему он это делает? Конечно, это связано с установкой всего на DeleteBehavior.Restrict
, но почему?