实体框架6更新记录SaveChanges不执行任何操作

时间:2017-07-06 18:01:08

标签: asp.net entity-framework-6

我在ASP.NET MVC项目中使用以下代码来更新记录(使用AngularJS代码中的JSON调用,但这不应该有所作为,对吧?):

public JsonResult UpdatePerson(Person person)
{
    Person pers = db.People.Single(p => p.BusinessEntityID == person.BusinessEntityID);
    pers.FirstName = person.FirstName;
    pers.MiddleName = person.MiddleName;
    pers.LastName = person.LastName;
    pers.Suffix = person.Suffix;
    pers.Title = person.Title;
    pers.ModifiedDate = DateTime.Now;

    db.Entry(pers).State = EntityState.Modified;
    db.SaveChanges();

    return Json(new { status = "Person successfully saved." });
}

当我逐步完成代码时,对于" pers"的属性来说,一切看起来都很棒。对象和" person"宾语。但是当我到达" db.SaveChange()"行,代码什么都不做。我没有得到任何错误,但我也从未超越它。就好像代码刚刚结束一样。

我也尝试过这个我发现的代码,但同样,SaveChanges行什么也没做。

public JsonResult UpdatePerson(Person person)
{
    db.People.Attach(person);
    db.Entry(person).State = EntityState.Modified;
    db.SaveChanges();

    return Json(new { status = "Person successfully saved." });
}

知道这里发生了什么吗?从我发现的所有文章看来,这应该有用,但它并没有。再说一遍:没有错误。代码就此停止。我从来没有去过"返回Json"完全一致。

0 个答案:

没有答案