在SQL Server CE中使用自动递增时出现主键错误
本文关键字:错误 CE Server SQL | 更新日期: 2023-09-27 18:22:07
我在SQL Server Compact中将主键字段设置为自动递增和标识,当我向其中插入新记录时,我不会填充标识值并将其传递为null。但是当运行应用程序时,我得到了这个错误:
"不支持服务器生成的密钥和服务器生成的值通过SQL Server Compact。"
对于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列。