У меня проблема с Entity Framework 6.
Я пытаюсь обновить существующую сущность, но я бы хотел полностью заменить ее вместо обновления каждого отдельного свойства по одному. Когда я заменяю свойство и вызываю SaveChanges()
, оно отлично сохраняется в базе данных, однако, если я хочу просто заменить весь объект, оно ничего не делает.
Закомментированная часть ниже будет работать, очевидно,но когда я пытаюсь заменить объект (в моем случае объект ninja.ToModel()
, который происходит из модели представления ниндзя), он не работает.
Очевидно, что я что-то упустил, я думаю, что это должно сделатьс Attach()
, но пока все, что я нашел в интернете, только смутило меня. Какой правильный подход для полного обновления объекта, как я хочу?
public void SaveNinja()
{
using (var context = new ManagerEntities())
{
Ninja nin = context.Ninjas.Find(ninja.ToModel().Id);
// nin.Name = ninja.Name;
// nin.Strength = ninja.Strength;
// nin.Agility = ninja.Agility;
// nin.Intelligence = ninja.Intelligence;
// nin.Gold = ninja.Gold;
context.SaveChanges();
}
Close();
}