使用Code First Migration为Azure后端创建新表时,脚本如下所示
创建表(...)
创造触发......
...
INSERT [dbo]。[__ MigrationHistory] ...
它始终无法说" CREATE TRIGGER必须是第一个声明"。
我有解决方法使其工作,但我想了解这是Code First Migration的错误还是我没有正确使用它。
答案 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);
}