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(顺便说一句,我使用的是向导)
我意识到,如果我使用RoleManager将角色添加到我的应用程序中,这些角色将保存在dbo中。AspNetRoles,在向用户添加角色时没有冲突。
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
var str = roleManager.Create(new IdentityRole("admin"));