迁移生成器中的 SQL 关键字附近的语法不正确



通常,我可以在这里找到答案,但我得到的错误不够具体,我自己无法弄清楚,除了一定有某种错别字的事实。老实说,我不知道错别字是什么。我希望有人能帮忙。

我正在使用.NET Core和EntityFramework(这对我来说仍然是新的(。我创建了几个迁移:"初始"和"填充"。"填充"是一个空的迁移,我打算将其用于播种。

protected override void Up(MigrationBuilder migrationBuilder)
{
foreach (var job in GetAllJobs().OrderBy(x => x.Id))
migrationBuilder.Sql("INSERT INTO Jobs (Id, Code, Name, Role, Type, Group) " +
"VALUES ('" + job.Id + "', '" + job.Code + "', '" + job.Name + "', '" + job.Role + "', '" + job.Type + "', '" + job.Group + "');");
}

出于某种原因,从命令行运行dotnet ef数据库更新时,它会抛出上述错误:">关键字'Group'附近的语法不正确">,但我真的不明白为什么。

http://i.imgur.com/it5rP5P.png

我尝试省略 SQL 语句末尾的分号,但这会导致相同的错误。我真的不知道SQL语句可能有什么问题:(

任何帮助将不胜感激。

溶液:

protected override void Up(MigrationBuilder migrationBuilder)
{
foreach (var job in GetAllJobs().OrderBy(x => x.Id))
migrationBuilder.Sql("INSERT INTO Jobs (Id, Code, Name, Role, Type, [Group]) " +
"VALUES ('" + job.Id + "', '" + job.Code + "', '" + job.Name + "', '" + job.Role + "', '" + job.Type + "', '" + job.Group + "');");
}

在标识符两边加上括号,GROUP 是一个保留字

相关内容

最新更新