0

我有我的实体类(它是我的实体框架代码优先 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();
}

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

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

什么会导致这个问题?

4

1 回答 1

0

尝试注释掉db.Entry(employee).State = State.Modified;

于 2013-10-21T13:02:35.997 回答