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

时间:2016-01-13 17:10:02

标签: c# windows-phone-8.1

我试图在我的WebApi项目中使用Entity Framework从我的数据库中删除一行,但每次我试图删除我都成功但ID仍然有效! 例如:让我说我有5行,我删除所有5行,如果我进行POST,它将计入6,7,8 ......如果我擦除,我想使用堆栈的概念第二行的第一行必须是第一行...

我的简单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);
        }
    }

谢谢!

1 个答案:

答案 0 :(得分:0)

您无法设置“Id”字段的值,因为它是“身份”字段并将自动设置。如果要重置计数器,则必须截断表。

表中的每个插入都会将“Id”的值递增1。

您也可以取消激活自动字段并手动设置,但在这里您应该为每个查询获取最后插入的ID。

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