在SQL Server CE中使用自动递增时出现主键错误

本文关键字:错误 CE Server SQL | 更新日期: 2023-09-27 18:22:07

我在SQL Server Compact中将主键字段设置为自动递增和标识,当我向其中插入新记录时,我不会填充标识值并将其传递为null。但是当运行应用程序时,我得到了这个错误:

"不支持服务器生成的密钥和服务器生成的值通过SQL Server Compact。"

在SQL Server CE中使用自动递增时出现主键错误

对于SQL Compact 3.5,您必须使用Guid作为ID,因为在使用实体框架时不支持int IDENTITY。int可以与SQL Compact 4.0配合使用。

为了避免此错误,您应该将插入的中的ID列单独保留。如果你有一个有三列的表格,你应该这样插入:TABLE声明:

CREATE TABLE Books 
(
   ID INT IDENTITY, 
   Name NVARCHAR(200), 
   PublishYear DATETIME
)

并插入您的记录如下:

INSERT INTO Books (Name, PublishYear) 
VALUES (N'Boof-e koor', '1937-10-28 12:30:00.000')

同样,您不得在插入声明中提及INDENTITY列。