当数据插入数据库时,"ID“列是自动编号。我试过这个:
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int IdMema { get; set; }
public string Autor { get; set; }
public int? Like { get; set; }
public int? Dislike { get; set; }属性"Memy“表:
CREATE TABLE [dbo].[Memy] (
[Id_mema] INT NOT NULL IDENTITY,
[autor] TEXT NULL,
[like] INT NULL,
[dislike] INT NULL,
PRIMARY KEY CLUSTERED ([Id_mema] ASC)
);当我尝试插入数据时,我看到:
"SqlException:当IDENTITY_INSERT设置为OFF时,不能在表'Memy‘中插入标识列的显式值。“
如何解决这个问题?
发布于 2019-04-11 05:32:06
您有自动增量字段Id_mema.自动增量设置为同一性关键字.例外说:
SqlException:当IDENTITY_INSERT设置为OFF时,不能在表'Memy‘中插入标识列的显式值。
当您将数据插入到表中时,无法给标识字段赋值。DB引擎给出了Id_mema-field的值(自动增量0,1,2,3.)
以下内容应该有效(直接sql):
INSERT INTO MEMY(autor, like, dislike) values ('text',1,0)对于实体框架,请确保不要在代码中设置Id_mema。
发布于 2019-04-11 05:56:11
在插入下面的值时,不需要传递Id_mema值。
INSERT INTO MEMY values ('kamilm',10,5);或
如果不想自动递增列,那么将DatabaseGeneratedOption.Identity更改为DatabaseGeneratedOption.None,它将允许您在Id(Key)列中插入值。
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int IdMema { get; set; }
public string Autor { get; set; }
public int? Like { get; set; }
public int? Dislike { get; set; }https://stackoverflow.com/questions/55625165
复制相似问题