0

我想将我所有的会员资格和数据存储在同一个数据库中。我首先创建了一个名为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的数据库已创建并包含数据。

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

感谢您的帮助。

4

3 回答 3

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

  2. 在 web.config 的 Membership 部分设置 connectionStringName="MembershipDB"

于 2013-03-19T00:31:50.087 回答
1

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

于 2013-03-19T00:15:22.973 回答
0

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

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

一起使用实体框架代码优先和 ASP.NET 成员资格

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

将复杂数据连接到 ASP.Net 成员表的最佳数据库设计方法

请让我知道这是否有帮助。

于 2013-03-19T00:49:50.080 回答