Sql 实体框架5迁移创建过程/功能

Sql 实体框架5迁移创建过程/功能,sql,stored-procedures,powershell,entity-framework-5,Sql,Stored Procedures,Powershell,Entity Framework 5,我正在实体框架中使用迁移中的SQL方法创建SQL过程。例如,在一个Up()中,我正在做 Sql(@"SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION dbo.MyFunction ... GO"); 现在我的问题是GOs:如果我想能够为我的迁移编写脚本(在实时服务器上使用),我需要在生成的脚本中使用GOs,否则它将无法工作。但是,如果在没有-script选项的情况下运行updatedatabase(用于开发时),它

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

Sql(@"SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION dbo.MyFunction
...
GO");
现在我的问题是
GO
s:如果我想能够为我的迁移编写脚本(在实时服务器上使用),我需要在生成的脚本中使用
GO
s,否则它将无法工作。但是,如果在没有
-script
选项的情况下运行
updatedatabase
(用于开发时),它会对
GO
s感到不安

我找到了一些部分答案:

Bart的答案提供了一种调用方法,将语句划分为多个
Sql
调用。问题是,当使用
-script
选项运行时,它会影响生成的脚本,因此返回第1步

看起来它也很有用


因此,我的问题是:是否有一种方法可以知道您是否正在使用
-script
选项运行迁移,或者有一种更好的方法可以在迁移中编写SQL过程的脚本?

我发布了一个类似的问题,有人给了我一个非常棒的答案

基本上,您必须更改迁移配置器的配置文件