使用Entity Framework 6和Web API 2时如何观察数据库?

时间:2014-01-15 00:48:20

标签: entity-framework asp.net-web-api

我想知道在使用带有Web API 2的Entity Framework 6时如何查看数据库。

我看到的大多数教程都显示能够打开“服务器资源管理器”或“SQL对象资源管理器”窗口来查看“数据连接”,它将显示与部署使用实体框架的当前项目时创建的数据库的连接。但是,当我查看这些窗口并刷新时,“数据连接”

下没有显示任何内容

当我尝试在模型中使用EF6与关系时,我遇到了当前项目的问题。如果我能看到EF创建的内容,它将帮助我进行调试。也许table,sql或visual class diagram会很棒,但我找不到解决方案中的任何一个。

我可以使用Visual Studio 2013通过以下步骤重新创建该问题:

  1. 文件>新>项目> Visual C#>网络> ASP.NET Web应用程序
  2. 选择WebAPI项目模板>单击“确定”
  3. 右键单击解决方案中的模型文件夹>添加>课程>创建“Question.cs”
  4. 向模型中添加一些属性。
  5. 右键单击解决方案中的Controllers文件夹>添加>控制器>带有实体框架的Web API 2控制器
  6. 选择我们在步骤4-5中创建的模型,创建新上下文“TestContext”
  7. 构建项目
  8. 现在,我希望通过上述步骤完成的脚手架创建TestContext,它扩展了DbContext,默认为在我的机器上创建LocalDb实例。据我所知,LocalDb包含在VS 2013中,我有Window 8.1,它应该有IIS。我希望能够在构建项目时看到创建的数据库。

    我是否需要更改一些设置才能在VS2013中查看数据库,或者如果我安装了SQL Server,是否只显示数据连接?

    我能看到的唯一其他差异是,我引用的大多数教程都使用MVC项目,因为我的WebAPI添加了EF,也许有一些默认设置/ web.config设置需要为我启用看数据库。

    说到web.config我没有在TestContext的web.config中看到一个显式的连接字符串,这是我所期待的。

    非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

默认情况下,Entity Framework将使用localdb数据库。

将在解决方案的AppData文件夹下创建实际的数据库文件。

最初,该文件在Visual Studio解决方案资源管理器中不可见,因为该文件未包含在项目中。

单击Solution Explorer工具栏的Show All Files按钮查看文件。