Я думаю, вы также можете проверить поля, которые вы хотите обновить, если (! String.IsNullOrEmpty (user.Email)), if (! String.IsNullOrEmpty (user.Password)) и т. Д.

я есть проблема в моем UserRepository, в которой я хочу обновить пользователя. Я не хочу, чтобы некоторые поля обновлялись, например пароль, если не указано иное. Например, когда я передаю пользователя из представления в службу в хранилище, он отправляет пользователю пустую или пустую строку пароля. Этот ноль записывается в базу данных (чего я не хочу).

Как мне справиться с такой ситуацией?

Домен

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

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

вместилище

    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;
    }

Допустим, в этом случае мой взгляд позволяет мне изменять толькоEmailтак что единственное, что отправляется обратно вSave() метод являются:user.UserId а такжеuser.Email покаuser.Password нулевой. В моем случае база данных выдает ошибку, потому что пароль должен быть обнуляемым.

Ответы на вопрос(3)

Ваш ответ на вопрос