2017-07-30 86 views
0

通常,我可以在這裏找到答案,但是我得到的錯誤並不足以讓我自己弄清楚,除了必須有某種類型的錯誤。我真的不知道是什麼錯字。我希望有人能幫忙。migrationBuilder中的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數據庫更新時,它拋出上述錯誤:「關鍵字‘集團’附近有語法錯誤」,但我真的不明白爲什麼。

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 + "');"); 
} 

回答

2

戴上支架,集團是一個保留字

+0

猜測我對SQL查詢的經驗不足:D。你每天都在學習新的東西,非常感謝。 – nGAGE

相關問題