实体框架不更新自引用密钥

时间:2013-10-21 12:58:42

标签: sql-server asp.net-mvc entity-framework ef-code-first entity-framework-5

我有我的实体类(这是我的Entity Framework Code First DbContext的一部分),如下所示:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual Person Boss { get; set; }
    public decimal Piotrus { get; set; }
}

现在我正试图像这样更新老板:

using(var db = new DataContext())
{
    var employee = db.Persons.Single(p => p.Name = "Kowalski");
    employee.Boss = db.Persons.Single(p => p.Name = "Malysz");

    db.Entry(employee).State = State.Modified;
    db.SaveChanges();
}

虽然调试实体似乎没问题。它有正确的Boss分配。即使我试图从当前的DbContext获取数据它看起来很好,但在Database属性中Boss_Id保持不变,而其他属性(如果已更改)已被修改。

当我创造一个人时,一切正常。分配的老板存储正确。

什么可能导致这个问题?

1 个答案:

答案 0 :(得分:0)

尝试发表评论db.Entry(employee).State = State.Modified;