c#实体框架:不能创建ID已经删除的行

本文关键字:删除 ID 创建 实体 框架 不能 | 更新日期: 2023-09-27 18:01:37

我在实体框架中创建了一些数据到我的数据库,例如具有唯一id 1,2和3的行。然后我用

删除了ID = 1的行
int selectedId = (int)ComboChoosePerson.SelectedValue;  // selected ID
person = db.Persons.First(p => p.Id == selectedId);  // find the person
db.Persons.Remove(person);  // remove from DB
db.SaveChanges();

当我尝试创建一个ID = 1的新行时,它将ID更改为4,5,6,等等。我需要访问所有可用的id。我错过了什么?

c#实体框架:不能创建ID已经删除的行

这是SQL的功能。您不应该关心行ID是什么,因为数据库只是使用它来内部跟踪内容。该表提供下一个可用的ID,但不回收已经使用的ID——否则它将无法工作。您的ID只是一个标记,用于在表中查找记录。为什么ID对你很重要也就是说你的问题中有没有什么你认为你应该用ID做的事情?