我在VS 2013中使用标准MVC模板和身份提供程序。
通过扩展ApplicationUser:IdentityUser
,我可以使用AspNetUsers
访问表格ApplicationDbContext
。
我现在想查询另一个表AspNetUserLogins
中的数据。如何引用它而无需创建新的数据库上下文和新的实体数据模型来表示此现有表?
答案 0 :(得分:2)
dbo.AspNetUserLogins
表的对应实体是IdentityUserLogin
类。因此,我们只需在IDbSet<IdentityUserLogin>
类中声明适当的DbSet<IdentityUserLogin>
或ApplicationDbContext
属性,如下所示:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
// ...
public IDbSet<IdentityUserLogin> UserLogins { get; set; }
// ...
}
然后通常查询:
using (var dbContext = new ApplicationDbContext())
{
var userLogins = dbContext.UserLogins.ToList();
}
答案 1 :(得分:0)
我知道这很旧,但对于任何希望使用 asp .Net Core 执行此操作的人来说:
将用户管理器添加到您可以通过 DI 在下面访问的控制器构造函数。
var user = await _userManager.GetUserAsync(User);
var hello = await _userManager.GetLoginsAsync(user);