我希望能够使用电子邮件登录到我的网站,但似乎已设置了身份,以便signInManager接受用户名而不是电子邮件登录。我已经看到了他们使用{{1} }来获取用户名,然后将其传递给我,但是当我尝试使用它时,我得到一个红色的波浪形的提示
“ UserManager
不包含'FindByEmail'的定义,并且没有可访问的扩展方法'FindByEmail'接受类型为'UserManager '的第一个参数”
我认为这是因为我使用的是Asp.Net Core,而不是Asp.Net。
FindByEmail()
答案 0 :(得分:2)
基于documentation,没有方法 internal IQueryable<TEntity> Select(
Expression<Func<TEntity, bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
List<Expression<Func<TEntity, object>>> includes = null,
int? page = null,
int? pageSize = null,
bool disableTracking = true)
{
IQueryable<TEntity> query = _dbSet;
if (includes != null)
{
query = includes.Aggregate(query, (current, include) => current.Include(include));
}
if (orderBy != null)
{
query = orderBy(query);
}
if (filter != null)
{
query = query.AsExpandable().Where(filter);
}
if (page != null && pageSize != null)
{
query = query.Skip((page.Value - 1) * pageSize.Value).Take(pageSize.Value);
}
return query;
}
。仅FindByEmail
存在。因此,将您的代码更改为如下
FindByEmailAsync