Мы хотели бы программно убедиться, что таблица базы данных имеет определенный набор строк (на основе иногда меняющегося перечисления). Мы используем EF Core 2.2 с миграцией кода и ищем подходящее место для заполнения этих данных. Мы думали, что добавление метода заполнения в нашу Startup.cs
было бы хорошей идеей, но в документации Microsoft говорится
Код заполнения не должен быть частью нормального выполнения приложения. поскольку это может вызвать проблемы параллелизма, когда запущено несколько экземпляров, и также потребовать, чтобы приложение имело разрешение на изменение схемы базы данных.
Код в Startup.cs
считается "частью нормального выполнения приложения" ?
Наше приложение в настоящее время работает только с 1 экземпляром, но в будущем их может быть несколько. Кроме того, у нас есть приложение Azure Functions и консольное приложение, которое может также потребовать, чтобы в таблице базы данных были правильные строки перед выполнением. Несмотря на эти опасения, я видел принятые и отклоненные ответы в других темах , в которых говорилось, что инициализация как часть Startup.cs
в порядке. Мы будем стрелять себе в ногу, делая это?