Azure后端 - 代码优先迁移 - CREATE TRIGGER必须是第一个声明

时间:2016-10-26 13:07:34

标签: azure azure-mobile-services ef-migrations

使用Code First Migration为Azure后端创建新表时,脚本如下所示

创建表(...)
创造触发......
...
INSERT [dbo]。[__ MigrationHistory] ​​...

它始终无法说" CREATE TRIGGER必须是第一个声明"。

我有解决方法使其工作,但我想了解这是Code First Migration的错误还是我没有正确使用它。

1 个答案:

答案 0 :(得分:0)

它表示你的脚本必须以" CREATE TRIGGER"开头。在SQL Management工作室中,您可以使用" GO"就在你的CREATE TRIGGER之前。 " GO"不是真正的T-SQL命令,它就像是脚本的字符串拆分。

如果您的脚本输入是SQL文件,请输入" GO"并做一些事情:

foreach (var script in fullScript.Split(new[] { "GO" }, StringSplitOptions.RemoveEmptyEntries))
{
    _dbContext.ExecuteSqlCommand(script);
}