Как сделать проверку на использование телефона в другой учетной записи?

Использую ASP.Net Identity, Asp.Net Core

Никак не могу понять, как при регистрации пользователя сразу проверить его номер телефона на использование в других учетных записях. Мне нужно, что бы не было повторных E-mail и номеров телефона.

С E-mail и UserName все работает, но отдельно проверить только телефон не получается.

Пробовал задать свойству UserName = model.PhoneNumber, но в таком случае войти в аккаунт я могу только с использованием номера телефона. Попытки получить пользователя по Email или просто через GetUserAsync() и сравнить его номер с номером из формы также не получились :(

Собственно код получения и обработки данных с формы

[HttpPost]
public async Task<IActionResult> Register(RegisterViewModel model)
{
    User user = new User { Email = model.Email, UserName = model.Email, PhoneNumber = model.PhoneNumber };

    // добавляем пользователя
    var result = await _userManager.CreateAsync(user, model.Password);

    if (result.Succeeded)
    {
        await _signInManager.SignInAsync(user, false);
        return RedirectToAction("Lk", "Account");
    }
    else
    {
        foreach (var error in result.Errors)
        {
            ModelState.AddModelError(string.Empty, error.Description);
        }
    }

    return View(model);
}

Ответы (1 шт):

Автор решения: Денис Черный

Большое спасибо, tym32167

Не знаю на сколько это оптимальный вариант, но проверку на уникальности номера телефона сделал следующим образом:

   User user = new User { Email = model.Email, UserName = model.Email, PhoneNumber = model.PhoneNumber };
            bool IsPhoneAlreadyRegistered =  await _userManager.Users.AnyAsync(item => item.PhoneNumber == model.PhoneNumber);
            if (IsPhoneAlreadyRegistered)
        {
            // Телефон уже испольузется
        }
→ Ссылка