如何使用实体WebApi从数据库中删除记录
本文关键字:删除 记录 数据库 何使用 实体 WebApi | 更新日期: 2023-09-27 18:30:14
我试图在WebApi项目中使用实体框架从数据库中删除一行,但每次尝试删除都成功了,但ID仍然有效!例如:假设我有5行,我删除了所有5行,如果我进行POST,它将在6,7,8上计数…我想使用堆栈的概念,如果我删除了5的第一行,第二行必须是第一行。。。
我的简单SQL SERVER脚本:
create table Usuário
(
Id int not null identity,
Name varchar(200) not null,
Email varchar(200) not null,
Telefone varchar(200) not null
Constraint Pk_Client Primary Key(Id)
)
API方法:
[Route("delete")]
public HttpResponseMessage Delete(int id)
{
try
{
Usuario usuario = data.Usuario.Where(x => x.Id == id).SingleOrDefault();
data.Usuario.Remove(usuario);
data.SaveChanges();
return Request.CreateResponse(HttpStatusCode.OK, "Sucesso");
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
}
}
谢谢!
您不能设置"Id"字段的值,因为它是一个"identity"字段,将自动设置。如果要重置计数器,则必须截断表。
表中的每个插入将使"Id"的值增加一。
您也可以停用自动字段并手动设置它,但在这里您应该获得每个查询的最后一个插入id。
我希望,我已经正确地理解了你的问题。