如何将成员资格和我的数据保存在同一个数据库中?

时间:2013-03-18 23:42:16

标签: sql-server asp.net-mvc asp.net-membership

我想将所有会员资格和数据存储在同一个数据库中。我首先创建了一个名为 MembershipDB 的数据库,其中我使用aspnet_regsql.exe添加了成员​​资格模式。

我正在使用Internet ASP.NET MVC4模板。所以这是连接字符串

 <connectionStrings>
  <remove name="DefaultConnection"/>
  <add name="DefaultConnection" 
     connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MembershipDB.mdf;
     Integrated Security=True;" 
      providerName="System.Data.SqlClient" />
 </connectionStrings>

当我创建用户时,我在先前创建的 MembershipDB 数据库中看不到任何数据。相反,我看到另一个名为 MembershipDB.mdf 的数据库,它创建并包含数据。

为什么我的数据库没有获取数据,而是正在创建另一个具有相同名称的数据库?代码优先只有在找不到具有相同名称的数据库时才会创建新数据库。

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

您的连接字符串指定 MembershipDBA.mdf 的初始目录(数据库)。将其更改为 MembershipDB 。 .mdf部分只是数据库数据部分的标准文件扩展名。除非您专门更改与文件有关的内容,否则无需引用它。

答案 1 :(得分:1)

  1. 只需使用不带.mdf扩展名的连接字符串中的数据库名称。

  2. 设置connectionStringName =&#34; MembershipDB&#34;在web.config的“成员身份”部分

答案 2 :(得分:0)

我认为最好的方法(我一直使用它)是观察和观察其他人在这些情况下做的事情并在他们之后重复。

这是一篇关于如何一起使用EF和会员资格的文章(虽然EF 4.1,而不是5)(如果我理解你的问题,这就是你所追求的:

Using Entity Framework Code First and ASP.NET Membership Together

以下是关于SO(同一主题)的成功回答问题(想知道在问你之前你怎么没找到这个问题):

Best database design approach to join complex data to ASP.Net Membership tables

如果有帮助,请告诉我。