通过自定义 属性 身份查找用户 asp.Net mvc
Find user by custom property identity asp.Net mvc
我试图找到一个用户,该用户具有我通过数据库迁移添加的自定义 属性 "Token",我尝试使用:
var adb = new AppDbContext();
var found = adb.Users.Where(u => u.Token == "ABDJ_SJ_ETC");//Error
//OR found = adb.Users.SingleOrDefault(); Error too
我的 AppDbContext class
AppDbContext.cs
namespace MyApp{
public class AppDbContext : IdentityDbContext<AppUser>{
public AppDbContext(): base("DefaultConnection"){}
}
}
AppUser.cs
namespace MyApp{
public class AppUser : IdentityUser{
public string Token {get;set;}
}
}
错误是“System.Data.Entity.IDbSet 不包含 'Where' 的定义,并且找不到接受类型为 'System.Data.Entity.IDbSet 的第一个参数的扩展方法 'Where'(您是否缺少 using 指令或程序集引用?)
如果没有 Where 行,我的应用程序可以正常运行,使用我的令牌将用户添加到数据库,等等。
我需要做什么才能通过该自定义字段找到 AppUser?
问题是 Visual Studio 没有建议我解决任何依赖关系,我不知道需要使用哪个指令,
我加了
using System.Linq;
问题就解决了
感谢@p.s.w.g 帮助我
在Visual Studio中,您可以将错误行翻转过来,它会提示相应的缺失using
。
记得在您的代码中包含 .SingleOrDefault()
语句行:
var found = adb.Users.Where(u => u.Token == "ABDJ_SJ_ETC").SingleOrDefault()
使用底部代码获取自定义 ApplicationUser 与自定义 属性
的身份
var context=new AuthContext();
var result=context.Users.OfType<ApplicationUser>.SingleOrDefault(item => item.NationalCode == "");
NationalCode 是 ApplicationUser 中的自定义 属性
ApplicationUser 是实现 IdentityUser
的自定义用户
public class ApplicationUser : IdentityUser
{
public string NationalCode { get; set; }
}
我试图找到一个用户,该用户具有我通过数据库迁移添加的自定义 属性 "Token",我尝试使用:
var adb = new AppDbContext();
var found = adb.Users.Where(u => u.Token == "ABDJ_SJ_ETC");//Error
//OR found = adb.Users.SingleOrDefault(); Error too
我的 AppDbContext class
AppDbContext.cs
namespace MyApp{
public class AppDbContext : IdentityDbContext<AppUser>{
public AppDbContext(): base("DefaultConnection"){}
}
}
AppUser.cs
namespace MyApp{
public class AppUser : IdentityUser{
public string Token {get;set;}
}
}
错误是“System.Data.Entity.IDbSet 不包含 'Where' 的定义,并且找不到接受类型为 'System.Data.Entity.IDbSet 的第一个参数的扩展方法 'Where'(您是否缺少 using 指令或程序集引用?)
如果没有 Where 行,我的应用程序可以正常运行,使用我的令牌将用户添加到数据库,等等。 我需要做什么才能通过该自定义字段找到 AppUser?
问题是 Visual Studio 没有建议我解决任何依赖关系,我不知道需要使用哪个指令,
我加了
using System.Linq;
问题就解决了
感谢@p.s.w.g 帮助我
在Visual Studio中,您可以将错误行翻转过来,它会提示相应的缺失using
。
记得在您的代码中包含 .SingleOrDefault()
语句行:
var found = adb.Users.Where(u => u.Token == "ABDJ_SJ_ETC").SingleOrDefault()
使用底部代码获取自定义 ApplicationUser 与自定义 属性
的身份var context=new AuthContext();
var result=context.Users.OfType<ApplicationUser>.SingleOrDefault(item => item.NationalCode == "");
NationalCode 是 ApplicationUser 中的自定义 属性 ApplicationUser 是实现 IdentityUser
的自定义用户public class ApplicationUser : IdentityUser
{
public string NationalCode { get; set; }
}