我正在使用SQL Server数据库处理程序。使用PUT / POST,我将元素添加到数据库中。我在数据上运行一些代码,然后删除它们。现在的问题是,当我添加新数据时,添加的数据会添加越来越多的ID号,而不是从0开始。
我四处搜索,发现了一些我认为会起作用的东西,即在Id上方添加以下行。然而,这并不起作用,并且当放入数据库时,我仍然会获得越来越大的Id号。
有解决方法吗?
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual int Id { get; set; }
public int ProducedkW { get; set; }
public int ConsumedkW { get; set; }
public string Type { get; set; }
public int DifferencekW { get; set; }
答案 0 :(得分:0)
我可以想到两种可能的方式:
SET IDENTITY_INSERT <table name> ON
,基本上它允许您在标识列中显式输入值。但请记住,您必须在代码中设置ID。
但请记住,您可能会失去专栏的唯一性,因此您必须在代码中以专业方式确保它。答案 1 :(得分:0)
在评论中提到,听起来好像你不想要一个IDENTITY列,而是一个普通的INT列。
通过删除列的IDENTITY属性,您可以自由控制ID。只需在您的实体上设置ID字段,当您调用DbContext.SaveChanges时,它将处理它。