我正在使用Sql
迁移中的方法在实体框架中创建 SQL 过程。例如在Up()
我正在做的
Sql(@"SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION dbo.MyFunction
...
GO");
现在我的问题是GO
s:如果我希望能够编写我的迁移脚本(用于在实时服务器上使用),我需要GO
生成脚本中的 s,否则它不起作用。但是,对于Update-Database
没有该-script
选项的运行(在开发时使用),它会对GO
s.
我找到了一些部分答案:
如何添加代码来初始化 sql 数据库
Bart 的答案提供了一种调用方法,可以将语句分成多个Sql
调用。这样做的问题是它在使用该-script
选项运行时会影响生成的脚本,所以回到方块 1。
如何覆盖 MigratorScriptingDecorator 生成的 SQL 脚本看起来它也很有用。
因此,我的问题是:有没有办法知道您是否正在使用该-script
选项运行迁移,或者有更好的方法在迁移中编写我的 SQL 过程脚本?