我想从身份表dbo.AspNetUsers
中检索数据,但是我还没有弄清楚如何查询它。
这是我的数据库上下文:
public class ProjectsDbContext : IdentityDbContext<IdentityUser>
{
public ProjectsDbContext(DbContextOptions<ProjectsDbContext> options) : base(options) { }
public DbSet<Project> Projects { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
if (modelBuilder == null)
{
throw new NullReferenceException();
}
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Project>()
.HasMany(c => c.ChildProjects)
.WithOne(p => p.ParentProject)
.HasForeignKey(p => p.ParentProjectId);
}
}
这是我的User
级:
public class User : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
这是我的查询,不起作用:
List<User> projectOwners = await db.Users.ToListAsync();
我收到的错误消息是:
无法将类型'System.Collections.Generic.List
隐式转换为'System.Collections.Generic.List '
如果在查询中将List<User>
替换为var
,该错误就会消失,但是我得到的集合不包含我自己的User
类中的任何属性。
我如何访问AspNetUsers
,包括在User
中定义的我自己的额外属性?
假设您正在按照标准样板或多或少地设置项目,我相信您可以像这样强制转换身份用户的替代类型: