2012-11-29 57 views
7

我在迁移中使用Sql方法在实体框架中创建SQL过程。例如,在一个Up()我做实体框架5迁移创建过程/函数

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

现在我的问题是与GO S:如果我希望能够给我的脚本迁移(使用活的服务器上),我需要GO S IN的生成的脚本,否则它不起作用。但是,如果没有-script选项(供开发时使用)运行Update-Database,则会对GO感到不安。

,我发现了一些部分答案:

How to add code to initialize sql database 由Bart答案提供来电了划分陈述为多个Sql呼叫的方法。与此问题是,它会影响与-script选项运行时生成的脚本,因此回到方块1.

How can I override SQL scripts generated by MigratorScriptingDecorator也看起来它可能是有用的。

因此,我的问题是:是否有办法知道您是使用-script选项运行迁移还是更好地在迁移中编写SQL过程的脚本?

回答