我正在迁移中使用Sql
方法在Entity Framework中创建SQL过程。例如,我正在做Up()
Sql(@"SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION dbo.MyFunction
...
GO");
现在我的问题在于GO
:如果我想能够编写我的迁移脚本(在实时服务器上使用),我需要在生成的脚本中使用GO
,否则它不起作用。但是,如果在没有Update-Database
选项的情况下运行-script
(在开发时使用),则会对GO
s感到不安。
我找到了一些部分答案:
How to add code to initialize sql database
Bart的答案提供了一种方法来调用将语句分成多个Sql
调用。这样做的问题是,当使用-script
选项运行时,它会影响生成的脚本,因此返回到方块1。
How can I override SQL scripts generated by MigratorScriptingDecorator看起来也很有用。
因此,我的问题是:有没有办法知道您是使用-script
选项运行迁移,还是在迁移中编写SQL过程脚本的更好方法?
答案 0 :(得分:0)