sql-server-2008 – SqlException:“GO”附近的语法错误

前端之家收集整理的这篇文章主要介绍了sql-server-2008 – SqlException:“GO”附近的语法错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法使用context. Database.ExecutesqlCommand()通过DbContext发送sql语句.

我试图执行

  1. CREATE TABLE Phones([Id] [uniqueidentifier] NOT NULL PRIMARY KEY,[Number] [int],[PhoneTypeId] [int])
  2. GO
  3. ALTER TABLE [dbo].[Phones] ADD CONSTRAINT [DF_Phones_Id]
  4. DEFAULT (newid()) FOR [Id]
  5. GO

错误字符串失败

  1. Incorrect Syntax near the keyword 'ALTER'.
  2. Incorrect Syntax near 'GO'.

但是在SSMS中运行该确切的语句运行没有错误?有关通过DbContext的默认约束需要解决的任何问题.我看到使用约束并且IsDbGenerated设置为true的人的问题.我不知道这将如何适用于这里.

解决方法

GO不是sql的一部分,所以不能用ExecutesqlCommand()执行.在使用Management Studio或命令行工具时,请考虑GO作为分批的方式.相反,只要删除GO语句,你应该没事.如果您遇到错误,因为您需要分批运行命令,那么只需为要运行的每个批次调用ExecutesqlCommand()一次.

猜你在找的MsSQL相关文章