【问题标题】:Cant find my EF code first database找不到我的 EF 代码第一个数据库
【发布时间】:2023-03-16 15:35:01
【问题描述】:

我在做微软的MVC入门教程:

Getting Started with Entity Framework 6 Code First using MVC 5.

这包括创建代码优先数据库。

一切正常,但我无法找到我的数据库。

这是我的ConnectionString

<add name="MovieDBContext" connectionString="Data Source=.\SQLEXPRESS; Integrated Security=True" providerName="System.Data.SqlClient"/>

如果我调试我的索引方法,连接如下:

Data Source=.\SQLEXPRESS; Integrated Security=True

但是我的 SQLEXPRESS 实例中没有数据库,我已经用 SQL Server Management Studio 进行了检查。

如果我在文件系统中搜索*.mdf,我也找不到任何东西。

我的项目中的App_Data 为空...

但是所有的 CRUD 操作都运行良好,肯定有什么问题。

我可以看到该表的唯一方法是通过 Visual Studio Server Explorer 连接到 .\SQLEXPRESS。但是这个物理位置在哪里?如果我通过 SQL Server Management Studio 连接到.\SQLEXPRESS,为什么看不到表?

有什么想法吗?

【问题讨论】:

    标签: c# sql-server asp.net-mvc entity-framework


    【解决方案1】:

    您没有在连接字符串中指定Initial Catalog,因此您可能正在使用Master 数据库。

    您需要像这样指定Initial catalog

    <add name="MovieDBContext" 
         connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=yourDBName;Integrated Security=True" 
         providerName="System.Data.SqlClient"/>
    

    【讨论】:

    • 谢谢。但我的主数据库不包含任何表。
    • @Bgl86...您必须指定您希望连接字符串连接到的数据库,因此您只需在连接字符串中指定Initial catalog,然后重试。
    • 我只是想了解发生了什么;)虽然主 tempdb 中有 3 个临时表,但我想它应该在那里。我已经添加了初始目录,但现在我得到一个异常“提供程序没有返回 ProviderManifestToken 字符串”但是谢谢,我会看看有什么问题:)
    猜你喜欢
    • 2018-06-29
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多