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

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

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

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

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

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

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

Connectionstring –

 

任何人都可以解释 – 为什么我开箱即用的连接字符串是在SQL Express中创建Db以及如何在书中建议的App_Data文件夹中创建mdf。 干杯。

只需更改连接字符串:

  

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

查看following article on MSDNfollowing article on MSDN其中提供了有关SQLExpress中连接字符串的更多详细信息。

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

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

在这张图片上,我点击了显示所有文件的红色箭头。 过了一段时间,我试图点击蓝色箭头上的其他显示所有文件,它现在有效。 在此处输入图像描述

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

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

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

您缺少AttachDbFilename

     

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

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

我在Windows 10中使用Visual Studio 2015。

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

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

 `SulemansStore\SulemansStore\App_Data\SulemansDatabase.mdf` 

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