0

次のようなエンティティ クラス (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();
}

エンティティのデバッグは問題ないようです。右のボスが割り当てられています。現在の DbContext からデータを取得しようとしても問題ないように見えますが、データベース プロパティの Boss_Id は変更されず、他のプロパティ (変更された場合) は変更されています。

また、人を作成しているときはすべて正常に機能します。割り当てられたボスは正しく保存されます。

この問題の原因は何ですか?

4

1 に答える 1