Я думаю, вы также можете проверить поля, которые вы хотите обновить, если (! 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
нулевой. В моем случае база данных выдает ошибку, потому что пароль должен быть обнуляемым.