C# 使用DataContext在服务器上执行SQL代码会拒绝GO语句

C# 使用DataContext在服务器上执行SQL代码会拒绝GO语句,c#,sql,sql-server,C#,Sql,Sql Server,我想在客户的SQL Server实例上自动部署数据库。 我有我的数据库生成脚本,它可以在SQL Server实例上执行,没有任何问题 考虑一下这个简化版的SQL代码 CREATE DATABASE [DataMining] Go // Some Table Creation Code CREATE PROCEDURE [dbo].[ResetDatabase] AS BEGIN delete from dbo.Result; END GO 将此代码放入字符串并将其传递给 myDataCo

我想在客户的SQL Server实例上自动部署数据库。 我有我的数据库生成脚本,它可以在SQL Server实例上执行,没有任何问题

考虑一下这个简化版的SQL代码

CREATE DATABASE [DataMining]
Go

// Some Table Creation Code

CREATE PROCEDURE [dbo].[ResetDatabase]
AS
BEGIN
delete from dbo.Result;
END

GO
将此代码放入字符串并将其传递给

myDataContext.ExecuteCommand(query);
将在此消息中引发异常

“Go”附近的语法不正确

如果我只是删除go语句,它就会消失,但这是不可能的,因为“CREATEPROCEDURE”应该是查询批处理中的第一条语句。 一种解决方案是将查询分为多个查询,但我的数据库包含大约10个表、8个过程和4种类型。将它们放在单独的查询中会使代码不那么整洁


有什么建议吗?

GO
由SSMS用于分离批次。这不是TSQL语句。建议:不要将
GO
作为
查询的一部分。正如@HABO所说,
GO
不是T-SQL。好的,我将在每个GO语句中将查询拆分为一个新查询。谢谢