我想更改ASP.NET Identity 2.0使用的表的名称.我见过各种类似的问题,但没有解决我的问题.例如,这种类型的解决方案:http: //www.goatly.net/customizing-table-names-for-identitydbcontextwithcustomuser-data-contexts 似乎依赖于Code First(?).无论如何,实现OnModelCreating对我没有任何帮助.我基本上将AspNetUsers和类似的表重命名为我自己的名字,并希望能够使用它们.我有一个我想要使用的现有EF上下文(MyContext),所以我将其修改为从IdentityDbContext派生(编辑t4模板),然后在Startup.Auth中我有:
UserManagerFactory = () =>
{
var context = new MyContext();
Database.SetInitializer<MyContext>(new IdentityDbInitializer());
var userStore = new UserStore<IdentityUser>(context){
DisposeContext = true
};
return new UserManager<IdentityUser>(userStore);
};
Run Code Online (Sandbox Code Playgroud)
但是当我尝试登录时出现问题,我得到"无法联系服务器".我想这是因为我的UserStore无法知道我的上下文中的User表.我希望这是OnModelCreating代码可以做的,但我对此很朦胧.我想UserStore仍然在寻找一个"AspNetUsers"表,虽然我不知道这些名字的来源.我也很难为我的上下文修改t4模板 - 这是我应该从IdentityDbContext派生的方式吗?
任何帮助非常感谢.