[英]Entity Framework, cannot add new object without specifying primary key
I am trying to use Identity to make the tables autoincrement the key upon insert. 我正在尝试使用身份使表在插入时自动递增键。 It worked nicely when I used a simple SQL query to insert a value.
当我使用简单的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)
);
However when I use C# code to add a value, I get an exception saying that I should set identity_insert on
(I suppose this is when I want to specify a primary key, but I might have missed something). 但是,当我使用C#代码添加值时,出现一个异常,提示我应将
set identity_insert on
(我想这是我想指定主键的时候,但是我可能错过了一些东西)。 I tried setting It on also, but didn't work (right before calling the add method). 我也尝试将其设置为打开,但是没有用(在调用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();
The exception happens on saving. 保存时会发生例外。 Do I have to find the new primary key for myself, and insert that way?
我是否必须为自己找到新的主键,然后以这种方式插入? Or can I make Entity Framework handle It somehow?
还是可以让Entity Framework以某种方式处理它?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.