【问题标题】:Entity Framework 5 code first - where is the database createdEntity Framework 5 code first - 数据库在哪里创建
【发布时间】:2012-11-29 07:57:57
【问题描述】:

我正在关注this tutorial!一切正常,博客名称保存并从数据库中检索(假设),因为它们显示在控制台中。然而,我没有在本地数据库中找到为它创建的任何数据库,也没有在我的机器上找到 sql express。如何找到代码优先方法中创建的数据库在哪里。

【问题讨论】:

    标签: ef-code-first entity-framework-5 dbcontext


    【解决方案1】:

    您可以使用ctx.Database.Connection.ConnectionString 获取连接字符串,它会告诉您正在使用的数据库。

    【讨论】:

    • Data Source=(localdb)\v11.0;Initial Catalog=EFConsoleApp.SampleContext;Integrate d Security=True;MultipleActiveResultSets=True;Application Name=EntityFrameworkMU E 但仍然在我签入 SQL 服务器对象时Explorer 没有名为 EFConsoleApp.SampleContext 的数据库
    • 您确定您连接的是 localdb 而不是本地 SqlExpress 吗?
    • 从上面的连接字符串看来,它似乎将其存储在 localdb 中。虽然我检查了本地 sqlExpress,但也没有类似名称的数据库。
    • 我的意思是另一种方式,即确保在检查 SSMS 时连接到 localDb 而不是连接到本地 SqlExpress(如果有的话)...
    【解决方案2】:

    我在这里遇到了非常相似的问题。我的连接字符串设置为 .\SQLEXPRESS 和生成的初始目录名称,但是当我使用 SSMS 连接到 .\SQLEXPRESS 时,什么也没显示。

    在 VS 2010 中使用 IntelliTrace,我能够看到 ADO.NET 命令,在 Autos 网格中,它显示了 SQL 命令和以下连接字符串:Data Source=(localdb)\v11.0;AttachDbFilename =|数据目录|(my_context_name_here).mdf。然后,使用服务器资源管理器,我可以连接到 (localdb) 并查看数据。

    出现这个问题是因为我的上下文是从 DbContext 派生的,但它没有使用 base(connectionStringName) 构造函数(就像 MVC4 模板附带的 UsersContext 一样)。改变它,我可以在 .\SQLEXPRESS 中看到数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多