2014-02-06 138 views
7

我一直在尝试开始使用ASP.NET MVC 4开始。为什么mdf文件不会出现在App_Data文件夹中?

并且直接打出问题,根据电子书我应该可以启动一个新的mvc 4互联网应用程序,调试和从UI tempate中选择登录,然后停止。 这应该在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的,为什么我的开箱即用的ConnectionString的是创建数据库和如何创建MDF在本书中建议的App_Data文件夹中。干杯。

+0

原始数据库位于C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data中吗? – Catto

回答

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特殊令牌。

结帐其提供有关的SQLExpress连接字符串的更多细节following article on MSDN

+1

添加新的连接字符串,并在UI上选择登录时出现错误,LazyInitializer.EnsureInitialized(ref _initializer,ref _isInitialized,ref _initializerLock);高高在上。消息 - ASP.NET简单成员资格数据库无法初始化。错误页面 - 无法完成操作。提供的SqlConnection不指定初始目录。 - 突出显示 - ((IObjectContextAdapter)上下文).ObjectContext.CreateDatabase(); – mkell

+1

明白了这不会在My SQL Express中创建数据库是否正确? – mkell

+1

我在链接@Darin Dimitrovs提供了一些链接,欢呼。 – mkell

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文件夹中的数据库文件的物理路径,你可以指定AttachDbFileName设定|DataDirectory|变量。

19

我知道这说回答,但它可能是因为点击Solution Explorer中的“显示所有文件”图标一样简单。默认情况下,.mdf文件会显示不出来,所以保证了“显示所有文件”,选择:)

0

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

我使用Visual Studio 2015年在Windows 10

该解决方案被证明是简单的。我只需要去我的电脑设置,选择帐户,并选择使用本地帐户而不是Microsoft帐户登录。

0

您也可以进入服务器资源管理器并右键点击数据连接。然后按“添加连接”,改变数据源“服务器数据库文件”数据库文件名(新的或现有的)您在App_Data文件夹中去,如果你不能找到密度纤维板文件,然后浏览到该文件夹​​并添加您想要给文件的名称。

`SulemansStore\SulemansStore\App_Data\SulemansDatabase.mdf` 

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

1

我花了一些时间来弄清楚这一点,因为我想在App_Data下附加数据库,并且什么也没有发生。没有文件被添加。我只知道有两个选项可以单击显示所有文件。

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

我希望这可以帮助你,如果你遇到同样的问题。

1

数据库很可能是在您的Documents文件夹中创建的。在服务器资源管理器中,右键单击数据库(在数据连接中),然后单击浏览在SQL Server对象资源管理器中。然后在SQL Server对象资源管理器中右键单击您的数据库并选择属性。在“属性”窗口中查找“当前连接参数”并查看“数据文件”的值。

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

相关问题