Вынужден ли код первым всегда инициализировать несуществующую базу данных?

Иногда я удаляю свою базу данных разработки и запускаю свое приложение с кодом EF. Я получу ошибку:

Cannot open database "AssessmentSystem" requested by the login. The login failed. Login failed for user 'AssessmentAdmin'.

Я думаю, это потому, чтоDbContext только запускает логику инициализации БД "один раз для каждого домена приложений, когда контекст используется впервые", так какэта страница говорит. Это означает, что мне нужно переработать пул приложений IIS, чтобы EF воссоздал мою базу данных, если я ее укажу.

Есть ли способ получить код инициализации БД для запускаevery time Я пытаюсь получить доступ к базе данных? Таким образом, он всегда будет проверять, существует ли БД, и если нет, то создавать ее, а не пытаться открывать, даже если она использует тот же домен приложений, который ранее обращался к базе данных, которую я сейчас удалил?

Обратите внимание, что я хотел бы, чтобы эта проверка инициализации была выполнена наevery queryтак что даже сделав это вApplication_Start не достаточно часто; в идеале я хотел бы иметь возможность загружать некоторые данные БД, удалять БД, затем загружать некоторые данные БД, и это воссоздает БД без необходимости даже перезапускать приложение (в основном, мне просто нужно перезагрузить веб-страницу, которая загружает некоторые данные БД).

Ответы на вопрос(1)

Ваш ответ на вопрос