Если вы используете Entity Framework, который, как я предполагаю, используется, поскольку вы указали его в качестве тега в своем вопросе, тогда объекты отслеживают свои изменения только тогда, когда они генерируются контекстом сущности.
User someUser = dbEntities.Users.Single(x => x.Username == "test");
someUser.Name = "changed name";
db.SaveChanges();
Этот код обнаружит изменения и сохранит их.
User someUser = new User()
{
Username = "test" //assuming there is already user called test in the database.
}
Создание пользователя таким образом не позволит контексту EF обнаруживать изменения. Вместо этого вам нужно будет загрузить объект из базы данных, обновить его и сохранить изменения.
string username = "test";
User someUser = db.Users.Single(x => x.Username == username);
TryUpdateModel(someUser, valueProvider); //valueProvider is usually a form collection of some sort, but could be anything that implements IValueProvider.
db.SaveChanges();
Это позволит вам добавить сущность, обновить ее и сохранить изменения.