首页 > 解决方案 > 执行 sqlCE 查询时出现 C# 异常

问题描述

当我运行此脚本手册时,它正在工作,但是当我在 c# 中使用 Entity Framework 运行它时,我遇到了异常

db.Database.ExecuteSqlCommand(script); //Exception 

sql脚本:

CREATE TABLE [Customers]
(
   [Id] INT NOT NULL IDENTITY (1,1),
   [Name] NVARCHAR(4000) NOT NULL,
   [Email] NVARCHAR(4000) NOT NULL,
   [Phone] NVARCHAR(4000) NOT NULL,
   [Address] NVARCHAR(4000) NOT NULL,
   [Suburb] NVARCHAR(4000) NOT NULL,
   [Postcode] NVARCHAR(4000) NOT NULL,
   [Number] INT NOT NULL
);
GO
ALTER TABLE [Customers] ADD CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]);
Go
ALTER TABLE [Orders] Add [Customer_Id] INT;
GO

带有“GO”关键字的例外

“解析查询时出错。[Token line number = 12,Token line offset = 1,Token in error = GO]”

没有“GO”关键字的例外

“解析查询时出错。[令牌行号 = 12,令牌行偏移量 = 1,错误中的令牌 = ALTER]”

标签: c#entity-frameworksql-server-ce

解决方案


SQL Server Compact 每批只能执行一条语句,所以必须去掉 GO 语句,并调用 ExecuteSqlCommand 3 次。


推荐阅读