首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脚手架ApplicationUser

脚手架ApplicationUser
EN

Stack Overflow用户
提问于 2014-10-14 02:40:29
回答 2查看 2K关注 0票数 1

我使用的是带有EF 6的ASP.NET MVC 5的默认模板。

代码语言:javascript
复制
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类中添加了下面一行。

代码语言:javascript
复制
public System.Data.Entity.DbSet<QProj.Models.ApplicationUser> ApplicationUsers { get; set; }

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

EN

回答 2

Stack Overflow用户

发布于 2020-06-07 10:45:13

下面是我的步骤,如果您想管理AspNetUsers表,当您启用带有所有默认设置的迁移时,将为您生成该表。

  • 首先使用MVC 5 controller和视图创建控制器,使用EFL

  • 使用以下设置添加控制器。这里不应该选择/检查Use async controller actions,因为Users DbSet不支持异步,除非我们使用UserManager。这将是一个不同的话题。

  • 转到生成的控制器,将ApplicationUsers的所有实例重命名为Users

  • 最后,您现在可以安全地在IdentityModel上删除IdentityModel(就我的情况而言,它是第37行)

我们需要删除第37行,就像我在最后一张图片中显示的那样,因为当您运行enable-migrations时,它将无法构建。因为IdentityDbContext<T>本身已经包含了Users属性。因此,不需要在ApplicationDbContext类或您为此声明的任何类下添加额外的ApplicationDbContext。顺便说一句,这个属性是在Scaffold ApplicationUser时自动添加的。

票数 3
EN

Stack Overflow用户

发布于 2015-01-31 06:31:06

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

  1. 将ApplicationUser名称重构为其他东西,比如MyAppUser,
  2. 使用EntityFramework添加控制器,使用MyAppUser模型,这将成功地搭建MyappUser,
  3. 脚手架将为DbSet<MyAppUser> MyAppUsers创建属性ApplicationDbContext,删除它
  4. 在新创建的控制器中,将所有出现的db.MyAppUsers更改为db.Users

那你就可以走了,希望这能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26351822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档