Wymuszanie najpierw kodu, aby zawsze inicjował nieistniejącą bazę danych?

Czasami usuwam moją bazę danych programistycznych i uruchamiam moją aplikację kodu EF. Dostanę błąd:

Nie można otworzyć bazy danych „AssessmentSystem” żądanej przez login. Logowanie nie powiodło się. Logowanie nie powiodło się dla użytkownika „AssessmentAdmin”.

Myślę, że to dlatego, żeDbContext uruchamia tylko logikę inicjalizacji bazy danych „raz na domenę aplikacji, gdy kontekst jest używany po raz pierwszy”, tak jakta strona mówi. Oznacza to, że muszę odzyskać pulę aplikacji IIS, aby uzyskać EF do odtworzenia mojej bazy danych, jeśli ją upuszczę.

Czy jest jakiś sposób na uruchomienie kodu inicjującego DBkażdego razu Próbuję uzyskać dostęp do bazy danych? Więc zawsze będzie sprawdzać, czy baza danych istnieje, a jeśli nie, utwórz ją, zamiast próbować ją otworzyć, nawet jeśli używa tej samej domeny aplikacji, która poprzednio korzystała z bazy danych, którą teraz upuściłem?

Zauważ, że chciałbym, aby to sprawdzenie początkowe zostało wykonanekażde zapytanie, więc nawet to zrobioneApplication_Start często nie wystarcza; idealnie, chciałbym móc załadować niektóre dane DB, usunąć DB, a następnie załadować niektóre dane DB i odtworzyć DB, nawet bez konieczności ponownego uruchamiania aplikacji (w zasadzie po prostu musiałbym przeładować stronę internetową, która ładuje niektóre dane DB).

questionAnswers(1)

yourAnswerToTheQuestion