我正在尝试使用身份密钥字段映射表。 当我尝试保存时,我收到错误 SQL0803指定重复键值
INSERT INTO libpjk / Audit(AuditId,AuditDate,UserId,Keys,ValBefore,ValAfter,FieldId)VALUES(默认,?,?,?,?,?,?)
我认为AuditId不应该出现在字段列表中,默认值也不应该出现在那里。我只是不知道该怎么做。
用于表创建的SQL:
CREATE TABLE libpjk.Audit (
AuditId integer not null GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1),
AuditDate timestamp not null,
UserId char(10) not null,
FieldId integer not null,
Keys varchar(50) not null,
ValBefore varchar(50),
ValAfter varchar(50),
CONSTRAINT libpjk.pk_Audit PRIMARY KEY(FieldId))
以下是AuditId在Audit类中的定义:
<Required()> Public Overridable Property AuditId As Integer
这是我的映射:
MyBase.New()
Table("libpjk/Audit")
LazyLoad()
Id(Function(x) x.AuditId).Column("AuditId").GeneratedBy.Identity()
References(Function(x) x.AuditField).Column("FieldId")
Map(Function(x) x.Timestamp).Column("AuditDate").Not.Nullable()
Map(Function(x) x.UserId).Column("UserId").Not.Nullable()
Map(Function(x) x.Keys).Column("Keys").Not.Nullable()
Map(Function(x) x.Value_Before).Column("ValBefore")
Map(Function(x) x.Value_After).Column("ValAfter")
感谢您的帮助