Инициализатор для разработки. Я считаю любой автоматический процесс, изменяющий вашу производственную базу данных непосредственно из приложения, злом. Кто-то еще может просто забыть о его существовании, заново развернуть один .dll, и ваша база данных исчезнет.
Обновление базы данных - это операция, которая должна выполняться отдельно как часть сценария обновления, установочного пакета или обновления вручную во время обслуживания приложения, а не во время первого запроса к новой версии. Я описал миграцию вчера.
То, что вы ищете, это пользовательский инициализатор, который будет выполнять внешний скрипт, созданный в моем связанном ответе. Это может частично работать, если вы включите много дополнительных проверок, которые позволят избежать запуска скрипта дважды. Но почему? Если у вас есть сценарий, вы можете просто выполнить его, как только закончите.