Asp.net mvc 5 脚手架应用程序用户

Asp.net mvc 5 脚手架应用程序用户,asp.net-mvc-5,entity-framework-6,Asp.net Mvc 5,Entity Framework 6,我正在使用默认的ASP.NETMVC5模板和EF6。它生成身份模型,如下所示: public class ApplicationUser : IdentityUser { public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager) { // Note the authenticationType must

我正在使用默认的ASP.NETMVC5模板和EF6。它生成身份模型,如下所示:

public class ApplicationUser : IdentityUser
{
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        return userIdentity;
    }
}

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}
我希望能够管理和编辑用户列表,因此我构建了身份模型,并在ApplicationDbContext类中添加了以下行

public System.Data.Entity.DbSet<QProj.Models.ApplicationUser> ApplicationUsers { get; set; }

我知道这是错误的,但我不确定如何解决此问题。

这些步骤使我成功地搭建了ApplicationUser:

将ApplicationUser名称重构为其他名称,如MyAppUser, 添加带有EntityFramework的控制器,使用模型MyappUser,这将成功构建MyappUser, 脚手架将为ApplicationDbContext创建属性DbSet MyAppUsers,然后将其删除 在新创建的控制器中,将db.myappusers的所有出现更改为db.Users
那么您就可以开始了,希望这有助于

以下是让我成功搭建应用程序的步骤用户:

将ApplicationUser名称重构为其他名称,如MyAppUser, 添加带有EntityFramework的控制器,使用模型MyappUser,这将成功构建MyappUser, 脚手架将为ApplicationDbContext创建属性DbSet MyAppUsers,然后将其删除 在新创建的控制器中,将db.myappusers的所有出现更改为db.Users
然后您就可以开始了,希望这有助于管理AspNetUsers表,如果您想管理在启用所有默认设置的迁移时为您生成的AspNetUsers表,请执行以下步骤

首先使用MVC5控制器和视图创建控制器,使用 外语教学 使用以下设置添加控制器。此处不应选择/检查Use async controller操作,因为除非使用UserManager,否则用户DbSet不支持异步。那将是一个不同的话题。 转到生成的控制器并将ApplicationUsers的所有实例重命名为Users 最后,您现在可以安全地删除IdentityModel上的ApplicationUsers在我的案例中,是第37行
我们需要删除第37行,如我在上一张图片中所示,因为当您运行enable migrations时,它将无法构建。因为IdentityDbContext本身已经包含Users属性。因此,无需在ApplicationDbContext类或为此声明的任何类下添加额外的数据库集。顺便说一句,此属性是在您为ApplicationUser搭建脚手架时自动添加的。

如果您想管理在启用所有默认设置的迁移时为您生成的AspNetUsers表,请执行以下步骤

首先使用MVC5控制器和视图创建控制器,使用 外语教学 使用以下设置添加控制器。此处不应选择/检查Use async controller操作,因为除非使用UserManager,否则用户DbSet不支持异步。那将是一个不同的话题。 转到生成的控制器并将ApplicationUsers的所有实例重命名为Users 最后,您现在可以安全地删除IdentityModel上的ApplicationUsers在我的案例中,是第37行
我们需要删除第37行,如我在上一张图片中所示,因为当您运行enable migrations时,它将无法构建。因为IdentityDbContext本身已经包含Users属性。因此,无需在ApplicationDbContext类或为此声明的任何类下添加额外的数据库集。顺便说一句,这个属性是在您构建ApplicationUser时自动添加的。

您是创建了一个新的ApplicationUser类,还是从IdentityUser继承的?@BrendanGreen从上面的代码中可以看出,ApplicationUser从IdentityUser继承的。那么您是如何构建ApplicationUser的呢?由于您的上下文继承自IdentityDbContext,您不需要在类中定义dbset。您是创建了新的ApplicationUser类还是从IdentityUser继承的?@BrendanGreen从上面的代码中可以看出,ApplicationUser继承自IdentityUser。那么您是如何构建ApplicationUser的?由于您的上下文继承自IdentityDbContext,您不需要在类中定义dbset。您可以进一步说明原因吗?特别是步骤3。4.你能进一步说明原因吗?特别是步骤3。四,。