Entity Framework setzt die Navigationseigenschaft auf null

Ich habe ein erstes Projekt mit einer Entity-Framework-Datenbank. Hier ein Auszug aus dem Modell:

public partial class LedProject
{
    public LedProject()
    {
        this.References = new HashSet<LedProjectReference>();
        this.Results = new HashSet<LedProjectResult>();
        this.History = new HashSet<LedProjectHistory>();
    }

    public string Identifier { get; set; }
    public string Name { get; set; }
    public Nullable<System.DateTime> CompletionDate { get; set; }
    public System.DateTime CreationDate { get; set; }
    public System.Guid ProjectId { get; set; }
    public string Comment { get; set; }

    public virtual User ContactUser { get; set; }
    public virtual User CreationUser { get; set; }
    public virtual Customer Customer { get; set; }
    public virtual LedProjectAccounting Accounting { get; set; }
    public virtual LedProjectState State { get; set; }
    public virtual ICollection<LedProjectReference> References { get; set; }
    public virtual ICollection<LedProjectResult> Results { get; set; }
    public virtual User ResponsibleUser { get; set; }
    public virtual ICollection<LedProjectHistory> History { get; set; }
}
public partial class User
{
    public System.Guid UserId { get; set; }
    public string LoginName { get; set; }
    public System.DateTime CreationDate { get; set; }
    public string Firstname { get; set; }
    public string Lastname { get; set; }
    public string Email { get; set; }
}

Ich habe ein Problem beim Einstellen des NavigationselementsResponsibleUser der KlasseLedProject. Wenn ich das einstelleResponsibleUser an einen anderen Benutzer und speichern Sie anschließend die Änderungen des DBContext, die Änderungen werden in der Datenbank gespeichert.

Aber wenn ich das aktuelle löschen willResponsibleUser von einemLedProject, indem Sie die navigation -Eigenschaft auf null setzen. Die Änderungen werden nicht in der Datenbank gespeichert.

LedProject project = db.LedProject.Find(projectId);
project.Name = string.IsNullOrEmpty(name) ? null : name;
...
project.ResponsibleUser = responsibleUser == null ? null : db.User.Find(responsibleUser.UserId);
...
db.SaveChanges();

Gibt es einen Trick zum Löschen von Navigationseigenschaften?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage