Entity Framework устанавливает для свойства навигации значение null
У меня есть проект базы данных сущности первый проект. Вот извлечение модели:
public partial class LedProject
{
public LedProject()
{
this.References = new HashSet();
this.Results = new HashSet();
this.History = new HashSet();
}
public string Identifier { get; set; }
public string Name { get; set; }
public Nullable 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 References { get; set; }
public virtual ICollection Results { get; set; }
public virtual User ResponsibleUser { get; set; }
public virtual ICollection 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; }
}
У меня проблема с настройкой элемента навигацииResponsibleUser
классаLedProject
, Когда я установилResponsibleUser
другому пользователю и затем сохраните изменения DBContext, изменения будут сохранены в базе данных.
Но когда я хочу удалить текущийResponsibleUser
изLedProject
, установив для свойства навигации значение NULL. Изменения не сохраняются в базе данных.
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();
Есть ли хитрость для удаления свойств навигации?