Я пытаюсь обновить объект, используя Entity Framework, и сохранить его в базе данных.Когда вызывается обновление, мой сервисный метод извлекает DTO, присваивает ему значения объекта сущности, который ему передал пользовательский интерфейс, а затем сохраняет его в базе данных.Вместо того, чтобы вручную присваивать эти значения, я хотел бы использовать Automapper, однако, когда я делаю это, значения, которые я не отображаю, обновляются до нуля.Есть ли способ в Entity Framework или Automapper предотвратить это?
Сервисный метод находит существующий объект в базе данных, присваивает ему свойства нового объекта, а затем сохраняет:
public void Update(MyEntity updatedEntity, int id)
{
var existingObject = db.tblmyentity.Find(id);
existingObject.name = updatedEntity.name;
existingObject.address = updatedEntity.address;
existingObject.phone = updatedEntity.phone;
db.SaveChanges();
}
Однаков полях этого объекта хранятся значения, недоступные для пользовательского интерфейса, например, кто и когда изменил объект.Использование AutoMapper для упрощения этого кода (показано ниже) приводит к обновлению этих полей до нуля:
public void Update(MyEntity updatedEntity, int id)
{
var existingObject = db.tblmyentity.Find(id);
Mapper.Map(updatedEntity, existingObject);
db.SaveChanges();
}