【问题标题】:aspnet_regsql.exe creates dbo.aspnet_users but visual 2013 requires dbo.AspNetUsersaspnet_regsql.exe 创建 dbo.aspnet_users 但视觉 2013 需要 dbo.AspNetUsers
【发布时间】:2016-03-03 06:44:34
【问题描述】:

我正在使用 aspnet_regsql.exe 创建角色和用户表(dbo.aspnet_Roles、dbo.aspnet_Users)。创建角色可以正常工作,但是当我尝试从我的可视化网站应用程序中保存用户时,它会引发以下错误:

无效的对象名称“dbo.AspNetUsers”

我使用了以下代码,以便确定哪个是我的用户表,但它不起作用。

protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);
    modelBuilder.Entity<IdentityUser>().ToTable("aspnet_Users", "dbo");
}

这是我的 web.config

<membership defaultProvider="SqlProvider">
    <providers>        
        <clear />
        <add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="DefaultConnection" applicationName="/" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" />
    </providers>
</membership>
<profile>
    <providers>
        <clear />
    </providers>
</profile>
<roleManager defaultProvider="SqlProvider" enabled="true">     
    <providers>
        <clear />
        <add name="SqlProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="DefaultConnection" applicationName="/" />
    </providers>
</roleManager>

我不知道我是在web.config中做错了还是在使用aspnet_regsql.exe(顺便说一下,我正在使用向导)

【问题讨论】:

    标签: c# asp.net sql-server asp.net-identity


    【解决方案1】:

    我意识到如果我使用 RoleManager 将角色添加到我的应用程序中,这些将保存在 dbo.AspNetRoles 中,并且在向用户添加角色时不会发生冲突。

    var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
    var str = roleManager.Create(new IdentityRole("admin"));
    

    【讨论】:

      猜你喜欢
      • 2014-07-20
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 2015-01-26
      • 1970-01-01
      • 2014-12-23
      相关资源
      最近更新 更多