Entity Framework FirstOrDefault переопределяет значения конструктора? - PullRequest
2 голосов
/ 09 июня 2019

У меня есть модель User с методом конструктора - User ().Когда я использую EF для извлечения пользователя из базы данных, EF возвращает значение из конструктора вместо значения из базы данных.Мой класс пользователя:

public class User
{
    public string Email { get; set;}
    public string PasswordSalt { get; set;}

    public User()
    {
        PasswordSalt = "some random value"
    }
 }

Извлечение пользователя:

var user = _context.User.FirstOrDefault(o => o.Email == "a@b.com");

В результате user.PasswordHash вернет «некоторое случайное значение» вместо хеша, фактически сохраненного в базе данных.

1 Ответ

0 голосов
/ 09 июня 2019

Мы должны изменить конструктор, как показано ниже

 public class User
{
public string Email { get; set;}
public string PasswordSalt { get; set;}

public User()
{
    PasswordSalt = string.IsNullOrEmpty(PasswordSalt)? "some random value":PasswordSalt;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...