SQL in migrationBuilder 关键字附近的语法不正确

SQL in migrationBuilder Incorrect syntax near the keyword

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

我正在使用 .NET Core & EntityFramework(这对我来说还是新的)。我创建了几个迁移:'initial' & 'populate'。 'populate' 是我打算用于播种的空迁移。

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 数据库更新 时,会抛出上述错误:"Incorrect syntax near the keyword '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 是保留字