c# - 找不到用于带有 Entity Framework 的 MVC 4 的数据库

标签 c# entity-framework asp.net-mvc-4 azure

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

我查看了 webconfig 文件并看到连接字符串如下:

"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?就像更改连接字符串一样简单吗?我已经尝试过了,但没有成功。

请帮忙!

注意:我在这个网站上看到了一些“类似”的问题,但答案让我看看我所做的 webconfig。我已经追踪到我的本地数据库,但仍然找不到它。

我指的问题是Where does ASP.NET MVC 4 stores accounts information?

我错过了什么吗?

<小时/>

更新了我的 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,但没有创建数据库。

最佳答案

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

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

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

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

(localdb)\MyInstance

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

database files are inside your Windows user profile folder ,并且该过程是在您自己的凭据下运行的,因此您也不需要向任何文件夹授予权限。

您可以在这里获取有关 LocalDB 的大量信息:Getting Started with SQL Server 2012 Express LocalDB

关于c# - 找不到用于带有 Entity Framework 的 MVC 4 的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24191838/

相关文章:

c# - 通过GroupBy求Max值抛出Sequence不包含元素异常

c# - 什么 SQlite 数据类型映射到 clr 数据类型 double?

c# - 在 Razor View 中使用内部类

javascript - 使用 jQuery get 动态加载时,单击按钮后部分 View 未得到验证

c# - 将数据行传递给表单并将控件绑定(bind)到它

c# - 尝试使用 C# 和 WPF 调整文本框中的 TextBox + 字体大小,只能做一个或另一个

c# - Entity Framework 从上下文中删除对象,但不从数据库中删除对象

javascript - MVC4/JS/AJAX : Html. 原始输出替换 HTML View 中 href 标签中的内容

c# - 在数组中获取 9 个不同数字的算法

c# - 在 32 位和 64 位 C# 世界中使用 System.Data.SQLite 的选项