我想问这个关于 asp.net mvc 4.5 互联网应用程序附带的默认简单成员数据库的快速问题,我的问题是当我第一次创建新用户时,它在哪里创建它的表它是否在其中创建它的表默认连接字符串(LocalDB)?如果我将默认连接字符串更改为使用自定义 MS SQL Express 数据库,那会得到反射(reflect)并且这些表将在我的新数据库中创建吗?
我在默认帐户模型中注意到这段代码,在它的 DbContext 类中它指的是默认连接这是那里的代码:
public class UsersContext : DbContext
{
public UsersContext() : base("DefaultConnection")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
}
最佳答案
SimpleMembership 在 InitializeSimpleMemberhsipAttribute.cs
中初始化类。
在默认的 MVC 4 互联网项目模板中,导航到 Filters 目录,在上面的类中,您将找到初始化方法:
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile",
"UserId", "UserName", autoCreateTables: true);
这是默认设置,如果您想将它指向不同的数据库,请执行以下操作:
WebSecurity.InitializeDatabaseConnection("MyContext", "TableToPointTo",
"UserIdColumn", "UserNameColumn", autoCreateTables: false);
在你的上下文类中:
public class MyContext : DbContext {...}
并在 <configuration>
内的连接字符串部分更改名称根中的部分 web.config
文件:
<connectionStrings>
<add name="MyContext" connectionString="..." />
</connectionStrings>
关于asp.net-mvc-4 - 如何更改简单成员表的默认数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16151630/