如何使用实体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);
        }
    }

谢谢!

如何使用实体WebApi从数据库中删除记录

您不能设置"Id"字段的值,因为它是一个"identity"字段,将自动设置。如果要重置计数器,则必须截断表。

表中的每个插入将使"Id"的值增加一。

您也可以停用自动字段并手动设置它,但在这里您应该获得每个查询的最后一个插入id。

我希望,我已经正确地理解了你的问题。