【问题标题】:How to observe database when using Entity Framework 6 with WebAPI 2?使用 Entity Framework 6 和 WebAPI 2 时如何观察数据库?
【发布时间】:2014-01-15 09:05:28
【问题描述】:

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

我看到的大多数教程都显示了打开“服务器资源管理器”或“SQL 对象资源管理器”窗口以查看“数据连接”的能力,这将显示在部署当前使用实体框架的项目时创建的数据库连接.但是,当我查看这些窗口并刷新时,“数据连接”下没有显示任何内容

在尝试将 EF6 与模型中的关系结合使用时,我在当前项目中遇到了问题,如果我能看到 EF 创建的内容,它将帮助我进行调试。也许表格、sql 或可视类图会很棒,但我在解决方案中找不到任何这些。

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

  1. 文件 > 新建 > 项目 > Visual C# > Web > ASP.NET Web 应用程序
  2. 选择WebAPI项目模板>点击确定
  3. 在解决方案中右键单击模型文件夹 > 添加 > 类 > 创建“Question.cs”
  4. 向模型添加一些属性。
  5. 右键单击解决方案中的 Controllers 文件夹 > 添加 > 控制器 > Web API 2 Controller with Entity Framework
  6. 选择我们在步骤 4-5 中创建的模型,创建新上下文“TestContext”
  7. 构建项目

现在,我期望上述步骤完成的脚手架创建了 TestContext,它扩展了 DbContext,默认情况下在我的机器上创建一个 LocalDb 实例。据我了解,LocalDb 包含在 VS 2013 中,并且我有 Window 8.1,它应该有 IIS。我希望能够看到我在构建项目时创建的数据库。

是否需要更改一些设置才能在 VS2013 中查看数据库,或者只有在我安装了 SQL 服务器时才会显示数据连接?

我能看到的唯一其他区别是,我参考的大多数教程都使用 MVC 项目,并且由于我的是添加了 EF 的 WebAPI,也许有一些默认设置/web.config 设置需要为我启用查看数据库。

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

非常感谢您的帮助。

【问题讨论】:

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


    【解决方案1】:

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

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

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

    单击解决方案资源管理器工具栏的显示所有文件按钮以查看文件。

    【讨论】:

    • 啊,这太容易了。谢谢你。我建议更新此答案以说明用户可能必须使用“显示所有文件”按钮才能在 AppData 文件夹中公开 *.mdf 文件,但这取决于您。通过单击 .mdf 文件,它将在“服务器资源管理器 > 数据连接”视图中显示数据库。再次感谢您的快速回复。
    猜你喜欢
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 2014-03-07
    相关资源
    最近更新 更多