例如,我有下一张表:
CREATE TABLE Person (
id int IDENTITY(1,1) NOT NULL PK,
firstName nvarchar(20) NOT NULL,
lastName nvarchar(30) NOT NULL,
birtdate datetimeoffset(7) NOT NULL,
age int,
height int,
)
Run Code Online (Sandbox Code Playgroud)
实体映射有一部分:
public void Configure(EntityTypeBuilder<Person> builder)
{
...
builder.HasKey(k => k.Id);
builder.Property(k => k.Id)
.ValueGeneratedOnAdd()
.IsRequired();
...
}
Run Code Online (Sandbox Code Playgroud)
我的 MS SQL 服务器在客户端具有该表,在服务器端具有相同的表。我的程序从客户端的表中检索数据并将其发送到服务器,在服务器上将数据添加到数据库中。检索数据期间没有问题,但当我尝试插入数据时出现错误:
SqlException: Cannot insert explicit value for identity column in table 'Person' when IDENTITY_INSERT is set to OFF.
Run Code Online (Sandbox Code Playgroud)
尽管.ValueGeneratedOnAdd()
当我检索数据时,我得到具有填充 Id 属性(1、2、3 等)的实体,但我认为这并不重要。