C # Исключение при выполнении запроса sqlCE - PullRequest
0 голосов
/ 22 мая 2018

Когда я запускаю это руководство по скрипту, оно работает, но когда я запускаю его в 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'

"Произошла ошибка при разборе запроса. [Номер строки токена = 12, Смещение строки токена = 1, Токен в ошибке = GO]"

Исключение без 'GO 'Keywords

"Произошла ошибка при разборе запроса. [Номер строки токена = 12, Смещение строки токена = 1, Ошибка токена = ALTER]"

1 Ответ

0 голосов
/ 22 мая 2018

SQL Server Compact может выполнять только один оператор на пакет, поэтому необходимо удалить оператор GO и трижды вызвать ExecuteSqlCommand.

...