要在ASP.NET Core Identity中查找一个值是否已经存在于数据库中,可以使用UserManager的FindByNameAsync和FindByEmailAsync方法。例如,以下代码片段将检查一个用户名是否已经注册:
public async Task IsUserNameExist(string userName)
{
var user = await _userManager.FindByNameAsync(userName);
return user != null;
}
同样地,以下代码片段将检查一个电子邮件地址是否已经注册:
public async Task IsEmailExist(string email)
{
var user = await _userManager.FindByEmailAsync(email);
return user != null;
}
将上面两个方法用在用户注册流程中,就可以防止注册重复的用户名和电子邮件地址了。