0
Я пытаюсь сохранить объект с помощью EF 7, но когда я пытаюсь его обновить, мои внешние значения ключа (свойства навигации) теряются. Внешние ключи имеют нулевое значение в базе данных после запуска кода ниже.Свойства навигации теряются при обновлении объекта
UserTask s = new UserTask()
{
Id = 10027,
Description ="test change",
Title = "Test change",
DueDate = DateTime.Now.AddHours(3),
CreatedBy = db.Users.Where(c=>c.UserName=="Bob").First(),
AssignedTo = db.Users.Where(c => c.UserName == "Stephen").First(),
Status = stat
};
db.UserTasks.Attach(s);
db.Entry(s).State = EntityState.Modified;
db.SaveChanges();
ups !. Должно быть: db.UserTasks.Where (o => o.Id == 10027) .First(); – AiApaec
Я не уверен, что вы имеете в виду. У меня нет свойства s.Fk1Id для этих объектов. Свойства fk задаются в db. CreatedBy, например, имеет правильный ключ в CreatedBy.Id. Разве ЭФ не должен его обнаруживать? – Tjaart
Хорошо, это работает, но кажется, что должен быть лучший способ сделать это. db.Attach работает для всех полей, кроме полей внешнего ключа. Так что это не очень полезно. – Tjaart