Ho creato un'applicazione MVC 3.0 utilizzando Visual Studio 2012, .NET 4.5 e Entity Framework 5.0.Entity Framework Code Prime migrazioni di dati non funzionanti con VS2012 Web Deploy
Utilizzo del codice Prime migrazioni di dati, sono in grado di propagare correttamente le modifiche del modello al mio database di test locale, ma non riesco a capire come farlo funzionare quando si esegue la distribuzione sui server di produzione e staging utilizzando Web Deploy.
Ho letto il seguente articolo ...
http://msdn.microsoft.com/en-us/library/dd394698(v=vs.110)#dbdacfx
... il che spiega quello che dovrebbe succedere, ma non funziona per me, come Web Deploy non sembra in grado di rilevare che sto usando Entity Framework. Il tutorial mostra una casella di controllo per consentire l'esecuzione di codice prime migrazioni ...
... ma la mia finestra di dialogo mostra l'unico Update Database
casella di controllo per ogni database.
Ho letto che, per consentire a Visual Studio di rilevare l'utilizzo di un contesto Entity Framework, lo Web.config
deve includere un elemento che lo definisce. Ecco il mio:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<contexts>
<context type="MyContext, MyAssembly">
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[MyContext, MyAssembly], [MyConfig, MyAssembly]], EntityFramework">
<parameters>
<parameter value="MyConnectionStringName"/>
</parameters>
</databaseInitializer>
</context>
</contexts>
</entityFramework>
Qualsiasi suggerimento sarebbe molto apprezzato.
Grazie,
Tim
Cura di darci una carrellata delle differenze? –
@Richard: all'interno di il profilo appena creato contiene un numero di elementi aggiuntivi , ognuno dei quali rappresenta una classe di contesto. Presumo che ci sia una sorta di processo di scoperta che viene eseguito la prima volta che viene eseguito Web Deploy, che non viene eseguito come parte della conversione della soluzione VS2012. –