如何实现Web API Put控制器以支持主键列更新(级联更新)

时间:2016-05-16 11:26:50

标签: c# asp.net entity-framework-4 asp.net-web-api2

我正在使用Web API和AngularJS,我遇到了Put方法的问题。当我想更新任何其他列时,它工作正常,但如果我尝试更新主键列(即employeeID),它将失败。

但是在数据库中,它允许级联更新。如何通过Put改进employeeID功能以更新?

// PUT: api/Employee/5
public HttpResponseMessage Put(Employee emp)
{
    if (ModelState.IsValid)
    {
        this.emp.Entry(emp).State = EntityState.Modified;
        this.emp.SaveChanges();

        HttpResponseMessage res = Request.CreateResponse(HttpStatusCode.OK, emp);
        return res;
    }
    else
    {
        return Request.CreateResponse(HttpStatusCode.BadRequest, emp);
    }
}

谢谢!

1 个答案:

答案 0 :(得分:0)

检查您的employeeID是否为自动增量。如果是,那么它将不允许您插入或更新该特定字段。