C# ASP.NET Core Identity UserManager使用FindByEmailAsync查找不存在的用户

C# ASP.NET Core Identity UserManager使用FindByEmailAsync查找不存在的用户,c#,asp.net-core,asp.net-identity,asp.net-core-webapi,C#,Asp.net Core,Asp.net Identity,Asp.net Core Webapi,我一直在尝试使用ASP.NET核心标识来检查数据库中的现有用户,当我在UserManager类上调用FindByEmailAsync或其他Find方法时,它会查找Id为的实体,即使AspNetUsers db表为空 我已经仔细检查了我的Startup.cs文件,因为我几乎可以肯定这一定是DI的问题。但是我在我的服务类中使用这个EntityManager,并且这个类被注册为作用域 无论我在参数中键入什么,总是返回一些实体: 我的启动DI配置: 我的用户(来自IdentityUser): 我的服

我一直在尝试使用ASP.NET核心标识来检查数据库中的现有用户,当我在UserManager类上调用FindByEmailAsync或其他Find方法时,它会查找Id为的实体,即使AspNetUsers db表为空

我已经仔细检查了我的Startup.cs文件,因为我几乎可以肯定这一定是DI的问题。但是我在我的服务类中使用这个EntityManager,并且这个类被注册为作用域

无论我在参数中键入什么,总是返回一些实体:

我的启动DI配置:

我的用户(来自IdentityUser):

我的服务注册(我通过DI使用UserManager):

我希望这些方法不会找到任何用户实体,但出于某种原因,它总是返回非空值


可能是身份缓存或DI问题?

findbyemailsync
方法返回一个
任务,而不是用户。如果检查
userExists
变量的类型,您将看到它属于
Task
类型。因此,该方法不会返回id为70的用户,而是返回id为70的
Task
。如果修改此行:

var userExists=\u userManager.findbyemailsync(“rasfafasf”);
通过添加
wait

var userExists=await\u userManager.findbyemailsync(“rasfafasf”);
您将获得一个任务的实际结果,即该电子邮件的用户(
null