私はEF Model Firstを使用しています。私のEmployee
クラスには、クラスとManager
1対1の関係を持つプロパティがありますEmployee
。
public partial class Employee
{
public Employee()
{
}
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual Employee Manager { get; set; }
}
ここで、データベースから既存のオブジェクトを取得し、マネージャーを次のように変更すると:
employee.Manager = otherEmployeeInstance;
Context.Entry(employee).State = System.Data.EntityState.Modified;
Context.SaveChanges();
問題なく動作します。ただし、マネージャーを削除したい場合、これは機能しません。
employee.Manager = null;
これにより機能するため、最初にマネージャー(従業員)インスタンスをコンテキストに「ロード」する必要があるように見えます。
var dummyVar = employee.Manager.Id;
employee.Manager = null;
問題は、関連オブジェクトを削除する最善の (適切な) 方法は何ですか?