找不到哪个数据库用于带有实体框架的MVC 4

本文关键字:框架 实体 MVC 数据库 用于 找不到 | 更新日期: 2023-09-27 18:08:27

我正在尝试首先使用C#和实体框架代码学习MVC 4。我已经创建了我的模型,创建了数据库,并用种子数据填充了它。我有一个ContextInitializer类,它将在每次测试时删除并创建数据库。当我运行它时,我可以看到我的数据填充在我的网站上,我可以编辑、创建和删除它。但我真的不知道它存储在哪里。

我查看了webconfig文件,发现connectionString如下:

"Data Source=(LocalDb)'v11.0;Initial Catalog=aspnet-CCConsolidation-20140610143008;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|'aspnet-CCConsolidation-20140610143008.mdf"

我登录了我的localdb,但根本看不到那个数据库。没有任何错误。我试图更改连接字符串,并将其指向windows azure上的数据库,但仍然无法在任何地方看到数据库。我在App_Data文件夹中也看不到mdf文件。

所以我的问题有两个方面:

1( 我的数据库藏在哪里?

2( 到了时候,我该如何将其部署到Windows Azure?它会像更改连接字符串一样简单吗?我尝试过,但没有成功。

请帮忙!

注意:我在这个网站上看到了一些"类似"的问题,但答案让我看看我做的网络配置。我已经追踪到我当地的数据库,但仍然找不到。

我提到的问题是ASP.NET MVC 4在哪里存储帐户信息?

我错过什么了吗?


已更新我的Windows Azure连接字符串:

"Data Source=xxxx.database.windows.net;Initial Catalog=CCConsolidation;Integrated Security=False;Database=xxxx;User ID=xxxx@yyyy;Password=xxxxxx;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;AttachDBFilename=aspnet-CCConsolidation.mdf"

有人看到这个连接字符串有什么问题吗?我在Webconfig中使用了这个来替换SQL express,但数据库没有创建。

找不到哪个数据库用于带有实体框架的MVC 4

LocalDB是SQL Server 2012中的一项新功能。它是一个简单的命令行可执行文件(而不是服务(,可以根据需要启动和停止DB实例。这与应用程序的App_Data和旧的AttachFile无关。

您可以使用命令行启动、停止、删除或创建实例,例如:

SqlLocalDb create "MyInstance"
SqlLocalDb start "MyInstance"
SqlLocalDb info "MyInstance"
SqlLocalDb stop "MyInstance"
SqlLocalDb delete "MyInstance"

如果你想从SSMS连接到你的数据库,你需要指定以下数据库:

(localdb)'MyInstance

这个数据库的优点是,您不需要安装整个SQL Server实例、启动和停止服务、创建登录、授予权限等等

数据库文件在您的Windows用户配置文件文件夹中,进程在您自己的凭据下运行,因此您也不需要授予任何文件夹的权限。

您可以在这里获得关于LocalDB的大量信息:SQL Server 2012 Express LocalDB 入门

您的数据库不是位于SQL Server的本地实例(例如localhost(上,而是与您的应用程序一起启动的SQL Server Express实例,并且该数据库存储在您站点的App_Data目录中的aspnet-CCCConsolidation-2014 0610143008.mdf中。

通过双击解决方案资源管理器中的mdf文件,您应该能够在Visual Studio中浏览该数据存储