Dla EF6, mogę sprawdzić, czy baza danych istnieje w następujący sposób:EF7 - Jak sprawdzić, czy baza danych istnieje?
context.Database.Exists()
Jak mogę to zrobić w EF7?
Dla EF6, mogę sprawdzić, czy baza danych istnieje w następujący sposób:EF7 - Jak sprawdzić, czy baza danych istnieje?
context.Database.Exists()
Jak mogę to zrobić w EF7?
Znalazłem rozwiązanie na własną rękę:
(context.GetService<IDatabaseCreator>() as RelationalDatabaseCreator).Exists()
Działa EF 7.0.0-RC1-ostatecznej wersji dla SqlServer
Jeśli sprawdzasz, czy istnieje, aby określić, czy potrzebujesz go utworzyć, możesz zamiast tego użyć tego;
context.Database.EnsureCreated();
Muszę tylko wiedzieć, jeśli istnieje, ja nie trzeba tworzyć –
, to fajne, ale ta metoda zwróci "true", jeśli baza danych została utworzona, a false, jeśli już istniała. Przynajmniej to, co mówi w tej chwili (v 1.1.1.0) – Enn
Nie używaj jednocześnie migracji ORAZ 'ZapewnijCreated()'! Tworzy bazę danych ** bez ** historii migracji tabeli '__EFMigrationsHistory'. Zatem 'Database.GetPendingMigrations()' powróci i 'Database.Migrate()' zastosuje ** wszystkie ** migracje. Oczywiście to się nie udaje. W rzeczywistości nie widzę żadnej korzyści w korzystaniu z opcji 'WykonajCreated()' i 'NaprawDeleted()' (z wyjątkiem testów jednostkowych). Nawet zmiana 'DropDatabaseIfModelChanges' nie będzie działać: Będziesz potrzebować historii migracji, aby wykryć zmiany modelu! – Marcel
Działa również z EF Core 1.1.0-preview1-final –
To działa. Bardzo dziękuję – thangchung
Entity Framework Core 2.0: '(context.Database.GetService() as RelationalDatabaseCreator) .Exists()' –
Marcel