为什么mdf文件没有出现在App_Data文件夹中?

时间:2014-02-06 12:49:21

标签: c# visual-studio-2010 asp.net-mvc-4

我正在尝试使用Beginning ASP.NET MVC 4。

并立即遇到问题,根据电子书我应该能够启动一个新的mvc 4互联网应用程序,调试并选择登录形式的UI模板,然后停止。 这应该在App_Data文件夹中创建mdf文件。我应该能够在服务器资源管理器中单击并打开它。

实际发生了什么 - 数据库是在我的SQL Express中创建的。

正确执行此步骤对于完成本教程的其余部分至关重要。

我熟悉MVC,但主要是前端的东西,所以我试图增加对MVC数据库/模型方面的理解。

这是一个全新的项目,没有进行任何更改,只是开箱即用的代码。 在Windows XP计算机上,使用Visual Studio 2010。

Connectionstring -

  <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-HaveYouSeenMe-20131125091100;Integrated Security=SSPI" providerName="System.Data.SqlClient" />

任何人都可以解释一下 - 为什么我开箱即用的连接字符串在SQL Express中创建Db以及如何在书中建议的App_Data文件夹中创建mdf。欢呼声。

7 个答案:

答案 0 :(得分:22)

我知道这说明了,但它可能就像单击解决方案资源管理器中的“显示所有文件”图标一样简单。默认情况下,.mdf文件不会显示,因此请确保选中“显示所有文件”:)

答案 1 :(得分:4)

只需更改连接字符串:

<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnet-HaveYouSeenMe-20131125091100.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>

|DataDirectory|是一个特殊标记,指向应用程序的~/App_Data文件夹。

签出following article on MSDN,它提供了有关SQLExpress中连接字符串的更多详细信息。

答案 2 :(得分:3)

由于我想在App_Data下附加数据库并且没有发生任何事情,因此我花了一些时间来解决这个问题。没有添加任何文件。我只是弄清楚,有两个选项可以单击显示所有文件。

在这张图片上,我点击了显示所有文件的红色箭头。过了一段时间,我试图点击蓝色箭头上的其他显示所有文件,它现在可以使用了。 enter image description here

如果您遇到同样的问题,我希望这可能会有所帮助。

答案 3 :(得分:1)

数据库很可能已在您的Documents文件夹中创建。在Server Explorer中右键单击Database(在Data Connections中),然后单击Browse in SQL Server Object Explorer。然后在SQL Server对象资源管理器中右键单击数据库并选择“属性”。在Properties窗口中,查找Current Connection Parameters并查看Data File的值。

要确保在App_Data文件夹中创建数据库,请在连接字符串中插入AttachDbFilename=|DataDirectory|\database_name.mdf

答案 4 :(得分:0)

您缺少AttachDbFilename

 <connectionstrings>
            <add connectionstring="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnet-HaveYouSeenMe-20131125091100.mdf;Integrated Security=True;User Instance=True  " 
name="ConnectionASPX" providername="System.Data.SqlClient" />
    </connectionstrings>

代替存储在App_Data文件夹中的数据库文件的物理路径,您可以在|DataDirectory|设置中指定AttachDbFileName变量。

答案 5 :(得分:0)

在我的情况下,这是因为我用来登录我的PC的用户帐户是Microsoft帐户(Outlook电子邮件地址),而Visual Studio读取我的本地用户帐户。本地用户帐户是C:\ Users \ userName \ Documents \ Visual Studio 2015 \ Projects \ ProjectFolder \ App_Data中的“userName”。

我在Windows 10中使用Visual Studio 2015。

解决方案结果很简单。我只需要进入我的电脑设置,选择帐户并选择使用本地帐户而不是微软帐户登录。

答案 6 :(得分:0)

您也可以进入服务器资源管理器并右键单击数据连接。然后按“添加连接”并将数据源更改为“服务器数据库文件”,并在数据库文件名下更新(或现在)你进入app_data文件夹,如果你找不到.mdf文件,那么浏览到该文件夹​​并添加你想要给你的文件的名称。

`SulemansStore\SulemansStore\App_Data\SulemansDatabase.mdf`

我浏览到App_Data并添加我的数据库文件名Sulemansdatabase.mdf(如果我正在创建新的数据库文件,我添加了这部分内容。)