Могу ли я переопределить или расширить UserManager.FindByEmail() для использования с SignInManager.CheckPasswordSignIn()C#

Место общения программистов C#
Anonymous
Могу ли я переопределить или расширить UserManager.FindByEmail() для использования с SignInManager.CheckPasswordSignIn()

Сообщение Anonymous »

Мой метод входа приведен ниже, и вы увидите, что мне придется снова позвонить своему пользователю после того, как я получу его с помощью _userManager.FindByEmailAsync(), потому что есть несколько полей Points и Tokens, которые рассчитываются как Sum()
Вопрос. Можно ли каким-либо образом расширить _userManager.FindByEmailAsync() чтобы он запускал Sum, как я это делаю при вызове .Select(), чтобы у меня не было избыточного вызова БД?
Я пытался позвонить:

Код: Выделить всё

var userFromRepo = await _userManager.Users.Select(p => new Core.Entities.User { Id = p.Id, Email = p.Email, UserName = p.UserName}).SingleOrDefaultAsync(p => p.Email == loginDto.Email);
и передайте его в CheckPasswordSignInAsync(), но результат не удался, поэтому он ищет что-то другое, кроме электронной почты, имени пользователя или идентификатора. Но что?
Если я просто вызову это, чтобы вернуть всего пользователя:

Код: Выделить всё

var userFromRepo = await _userManager.Users.SingleOrDefaultAsync(p => p.Email == loginDto.Email);
Это работает, но я не могу запустить вызовы Sum() для Point и Token
Вот мой метод входа.






Подробнее здесь: https://stackoverflow.com/questions/787 ... anager-che

Вернуться в «C#»