2012-11-29 34 views
7

Sto creando procedure SQL in Entity Framework utilizzando i metodi Sql nella migrazione. Per esempio in un Up() che sto facendoEntity Framework 5 Migrazioni che creano procedure/funzioni

Sql(@"SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
CREATE FUNCTION dbo.MyFunction 
... 
GO"); 

Ora il mio problema è con le GO s: se voglio essere in grado di sceneggiatura mie migrazioni (per l'utilizzo su un server di vivere) Ho bisogno le GO s nel script generato, altrimenti non funziona. Tuttavia per l'esecuzione di Update-Database senza l'opzione -script (per l'utilizzo durante lo sviluppo), si turba per lo GO s.

ho trovato alcune risposte parziali:

How to add code to initialize sql database La risposta da Bart fornisce un metodo da chiamare per dividere la dichiarazione su nel più Sql chiamate. Il problema con questo è che influenza lo script generato quando è in esecuzione con l'opzione -script, quindi torna al punto 1.

How can I override SQL scripts generated by MigratorScriptingDecorator Sembra che potrebbe essere utile.

La mia domanda è quindi: esiste un modo per sapere se si sta eseguendo la migrazione con l'opzione -script o un modo migliore per eseguire lo script delle procedure SQL nelle migrazioni?

risposta

0

ho postato una domanda simile in cui qualcuno in realtà mi ha dato una risposta impressionante

here is the answer to it. I hope it helps.

fondamentalmente è necessario modificare il file di configurazione del vostro configuratore migrazione

Problemi correlati