簡體   English   中英

如何在SQL Server CE的Entity Framework中使用靜態ID插入值?

[英]How insert values with static Id in Entity Framework for SQL Server CE?

我正在嘗試在手動遷移中填寫新表。

我成功創建了表,但是在插入時遇到了麻煩。

var sql = @"CREATE TABLE[DefaultSettings] ([Id] int IDENTITY (1, 1)  NOT NULL
                                           , [Tag] nvarchar(63)  NOT NULL
                                           , [ValueInt] int NULL
                                           , [ValueDate] datetime NULL
                                           , [ValueChar] nvarchar(255)  NULL);";
dbContext.Database.ExecuteSqlCommand(sql);

sql = @"ALTER TABLE[DefaultSettings] ADD CONSTRAINT[PK_DefaultSettings] PRIMARY KEY ([Id])";
dbContext.Database.ExecuteSqlCommand(sql);

sql = @"SET IDENTITY_INSERT [DefaultSettings] ON;
INSERT INTO [DefaultSettings] ([Id], [Tag], [ValueInt], [ValueDate],[ValueChar]) VALUES (1, N'DefaultArea', 58, NULL, NULL);
INSERT INTO [DefaultSettings] ([Id], [Tag], [ValueInt], [ValueDate],[ValueChar]) VALUES (2, N'DefaultFarm', 52, NULL, NULL);
GO";

dbContext.Database.ExecuteSqlCommand(sql);
return;

對於第二個ExecuteSqlCommand我收到錯誤

錯誤語句插入

我嘗試通過GO分隔sql變量中的所有命令-我知道SQL Server CE不能分成多個SqlCommand

但是我遇到了類似“錯誤聲明GO”的錯誤。

有任何想法嗎?

SQL Server Compact僅允許每個命令使用一個語句,因此您必須對ExecuteSqlCommand使用多個調用,每個INSERT語句使用一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM