У меня проблема в моем UserRepository, в котором я хочу обновить пользователя. Я не хочу, чтобы некоторые поля обновлялись, например, пароль, если не указано. Например, когда я передаю пользователя из представления, в службу в репозиторий, он отправляет пользователю пустую или пустую строку пароля. Этот нуль записывается в базу данных (чего я не хочу).
Как мне обрабатывать такую ситуацию?
Домен
public class User
{
public int UserId { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
Repository
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
- null. В моем случае база данных выдает ошибку, поскольку пароль должен быть нулевым.