我正在尝试使用Identity使表在插入时自动递增键。当我使用简单的SQL查询插入值时,效果很好。
CREATE TABLE [dbo].[extrak]
(
[Id] INT IDENTITY (1, 1) NOT NULL,
[kategorianev] VARCHAR(50) NULL,
[nev] VARCHAR(50) NULL,
[ar] INT NULL,
[szin] VARCHAR(50) NULL,
[tobbszor_hasznalhato] TINYINT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
但是,当我使用C#代码添加值时,出现一个异常,提示我应该set identity_insert on
(我想这是我想指定主键的时候,但是我可能错过了一些东西)。我也尝试将其设置为打开,但没有成功(在调用add方法之前)。
extrak extra = new extrak();
extra.kategorianev = categoryname;
extra.nev = name;
extra.ar = price;
extra.szin = color;
extra.tobbszor_hasznalhato = b;
Console.WriteLine("1");
DataBaseHandler.AddNewExtra(extra);
Console.WriteLine("2");
DataBaseHandler.SaveDB();
保存时发生异常。我是否必须为自己找到新的主键,然后以这种方式插入?还是可以让Entity Framework以某种方式处理它?</ p>