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?