创建MVC4成员资格数据库

时间:2012-01-25 12:53:48

标签: sql-server asp.net-mvc visual-studio-2010

我熟悉aspnet_regsql.exe来创建会员数据库(它产生11个表)

然而,在我的MVC4项目中,VS2010创建了一个只有六个表的会员数据库(应用程序,成员资格,个人资料,角色,用户和用户内部角色)

如何使用此(新?)架构创建数据库?

3 个答案:

答案 0 :(得分:4)

您需要做的就是:

将您的web.config更改为指向您想要的连接

<add name="DefaultConnection" connectionString="uid=****;pwd=*****;server=(local);database=****" providerName="System.Data.SqlClient" />

验证过滤器\ InitializeSimpleMembershipAttribute.cs

第41行应为:

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);

请注意,autoCreateTables设置为true,并且设置了您在web.config中设置的连接的名称。

现在,当用户注册它时,将查看您设置的数据库。如果表格尚不存在,则会创建它们。

答案 1 :(得分:2)

您必须添加一些用于安装功能的参数:http://msdn.microsoft.com/en-us/library/ms229862(v=vs.80).aspx

您可以在没有任何命令行参数的情况下运行Aspnet_regsql.exe来运行向导,引导您完成安装。

缺少哪些表以及创建了哪些表?

答案 2 :(得分:2)

aspnet_regsql.exe是ASP.Net架构的一部分,而不是MVC。

我敢打赌,MVC4开发者预览版在其项目结构中附带了一些自定义模式脚本,或者它安装了新的ASP.Net 4.5版本aspnet_regsql.exe的预览版本。

如果后者属实,您可以使用它来创建数据库,并将其绑定到MVC3(和之前的)应用程序中。这里的含义是由于架构差异,您可能需要编写自己的提供程序。

另一种选择是使用MVC4模板创建数据库,删除项目,并在使用数据库的MVC3项目中编写DA层。您需要抓取的只是连接字符串。但同样,你必须推出自己的提供商,因为旧的提供商不会知道新的6表架构。