aspnet_regsql.exe创建dbo.aspnet_users,但visual 2013需要dbo.AspNet

本文关键字:aspnet dbo visual 需要 AspNet 2013 users regsql exe 创建 | 更新日期: 2023-09-27 18:25:01

我正在使用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(顺便说一句,我使用的是向导)

aspnet_regsql.exe创建dbo.aspnet_users,但visual 2013需要dbo.AspNet

我意识到,如果我使用RoleManager将角色添加到我的应用程序中,这些角色将保存在dbo中。AspNetRoles,在向用户添加角色时没有冲突。

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