Ho installato Entity Framework 5.0 RC per Framework 4.0 nel mio progetto. Ma quando provo ad ottenere i dati da Views ottengo un errore. EF tenta di creare una tabella per questa entità.Come disabilitare la creazione automatica di tabelle in EF 5.0?
13
A
risposta
21
Utilizzare questo sul tuo all'avvio dell'applicazione per spegnere inizializzazione del database e le migrazioni:
Database.SetInitializer<YourContextType>(null);
7
Se si desidera disattivare banca dati di inizializzazione/migrazione completamente indipendentemente in cui progetto si utilizza il contesto è possibile aggiungere un costruttore statico nel tuo contesto per chiamare l'inizializzatore. Ciò garantisce che il SetInitializer venga chiamato una volta prima della prima costruzione/utilizzo del contesto.
public class YourContext : DbContext
{
static YourContext()
{
// don't let EF modify the database schema...
Database.SetInitializer<YourContext >(null);
}
public YourContext() : base("name=YourContext")
{}
...
}
Tuttavia, se si desidera solo fare questo in un selezionare alcuni progetti, è meglio farlo in modo esplicito tramite l'avvio dell'applicazione - per esempio durante la normale configurazione IoC, come suggerito da Ladislav.
Aggiungo questo codice in Costruzione, ma non mi aiuta – Greg
Il costruttore è troppo tardi Greg. Leggi di nuovo la risposta. L'avvio dell'app è nel tuo global.asax – Stimul8d
C'è un modo per disattivarlo a livello globale, o devo farlo per ogni dbContext? – JMarsch