Zainstalowałem Entity Framework 5.0 RC for Framework 4.0 w moim projekcie. Ale kiedy próbuję uzyskać dane z widoków, pojawia się błąd. EF próbuje utworzyć tabelę dla tego obiektu.Jak wyłączyć automatyczne tworzenie tabel w EF 5.0?
13
A
Odpowiedz
21
Użyj tego na starcie aplikacji, aby wyłączyć inicjalizacji bazy danych i migracje:
Database.SetInitializer<YourContextType>(null);
7
Jeśli chcesz wyłączyć bazy danych inicjalizacji/migracja całkowicie niezależnie od tego, w którym projekt używasz context można dodać statyczny konstruktor do kontekstu, aby wywołać inicjator. Zapewnia to wywołanie SetInitializera przed pierwszą budową/użyciem kontekstu.
public class YourContext : DbContext
{
static YourContext()
{
// don't let EF modify the database schema...
Database.SetInitializer<YourContext >(null);
}
public YourContext() : base("name=YourContext")
{}
...
}
Jeśli jednak chcesz zrobić to tylko w kilku wybranych projektach, lepiej zrobić to wyraźnie, uruchamiając aplikację - np. podczas normalnej konfiguracji IoC, jak sugeruje Ladislav.
Dodaję ten kod w dziale Budownictwo, ale nie pomogę – Greg
Konstruktor jest już za późno Greg. Przeczytaj odpowiedź jeszcze raz. Uruchamianie aplikacji znajduje się w pliku global.asax – Stimul8d
Czy istnieje sposób wyłączenia go globalnie, czy też muszę to zrobić dla każdego dbContext? – JMarsch