Problema de atualização de entidade POCO pura no padrão de repositório

Eu tenho um problema no meu UserRepository no qual desejo atualizar um usuário. Não quero que certos campos sejam atualizados, como senha, a menos que especificado. Por exemplo, quando passo o usuário da visualização para o serviço no repositório, ele envia o usuário com uma seqüência de senha nula ou vazia. Este nulo é gravado no banco de dados (o que eu não quero).

Como lidar com uma situação como esta?

Domínio

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

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

Repositório

    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, neste caso, minha visão me permita mudar apenasEmail, então a única coisa que é enviada de volta para oSave() método são:user.UserId euser.Email enquantouser.Password é nulo. No meu caso, o banco de dados gera erro porque a senha deve ser anulável.

questionAnswers(3)

yourAnswerToTheQuestion