Problema de actualización de entidad de POCO puro en patrón de repositorio

Tengo un problema en mi UserRepository en el que quiero actualizar un usuario. No quiero que se actualicen ciertos campos, como la contraseña, a menos que se especifique. Por ejemplo, cuando paso al Usuario desde la vista, al servicio al repositorio, envía al usuario con una cadena de contraseña nula o vacía. Este nulo se escribe en la base de datos (que no quiero).

¿Cómo manejo una situación como esta?

Dominio

public class User
{
    public int UserId { get; set; }

    public string Email { get; set; }
    public string Password { get; set; }
}

Repositorio

    public User Save(User user)
    {
        if (user.UserId > 0)
        {
            User dbUser = context.Users.FirstOrDefault(u => u.UserId == user.UserId);
            //What do I do here?
        }
        context.Users.AddObject(user);
        context.SaveChanges();
        return user;
    }

Digamos que en este caso, mi punto de vista me permite cambiar soloEmail, así que lo único que se envía de vuelta alSave() método son:user.UserId yuser.Email mientrasuser.Password es nulo. En mi caso, la base de datos arroja un error porque la contraseña debe ser anulable.

Respuestas a la pregunta(3)

Su respuesta a la pregunta