Было бы проще, если бы вы опубликовали часть своего кода, но я приму то, что у вас есть.
Сначала я обновил бы вашу модель представления и включил id
пользователя:
public class UserViewModel
{
public Guid Id {get;set;}
public string Name {get;set;}
public string Surname {get;set;}
public string City {get;set;}
public string Address {get;set;}
}
Затем вам просто нужно сопоставить свойства из ViewModel со свойствами модели. Поскольку вы упомянули, что у вас есть некоторые свойства навигации, не составит труда найти адрес пользователя, которого вы хотите обновить.
public void Update(UserViewModel userVM)
{
var user = db.Users.Find(userVM.Id);
if(user != null)
{
user.Name = userVM.Name;
user.Surname = userVM.Surname;
var address = user.Address;
address.City = userVM.City;
address.Address = userVM.Address;
db.SaveChanges();
}
}
Я думаю, вы должны понять это сейчас.
Если у вас нет навигационных свойств, просто включите id
адреса вашей модели представления, чтобы вы могли найти его так же, как я сделал для пользователя.