【问题标题】:Invalid object name 'dbo.__MigrationHistory'无效的对象名称'dbo.__MigrationHistory'
【发布时间】:2016-09-02 08:51:42
【问题描述】:

直到 2 天前一切都很顺利,我之前在数据库中插入了东西,但突然它给了我一个错误(不记得它,因为它已经修复了)但是一个又一个错误我仍然卡住并且不能在我的数据库中插入一条记录。

我现在得到的错误是:无效的对象名称'dbo.__MigrationHistory'。 我搜索了谷歌,发现了 3 个相关问题,但程序并没有解决我的问题...

我也尝试在 nuget 中使用启用迁移的命令。

我真的不明白这是怎么突然出现的。 除了代码逻辑,我没有改变任何东西。

两天前我更新到了新版本的实体和VS更新,我想也许这就是原因......

【问题讨论】:

    标签: c# sql wpf migration entity


    【解决方案1】:

    您需要在包控制台管理器中运行以下命令:-

    add-migration MigrationName
    

    这将为您的项目添加新的迁移类。现在运行:-

    update-database -verbose
    

    这将解决您的问题并重新创建“dbo.__MigrationHistory”表。

    【讨论】:

    • 尝试第一个命令时,我得到:“在程序集 'Hotel_System' 中找不到迁移配置类型。(在 Visual Studio 中,您可以使用包管理器控制台中的 Enable-Migrations 命令添加迁移配置)。”
    • 我尝试了 Enable-Migrations,但它给了我这个错误:“在程序集 'Hotel_System' 中找不到上下文类型。”
    • 请确保您的类应该由“Hotel_System”程序集中的 DbContext 实现。还看到传递给它的连接字符串的名称吗?
    • 这是我的 Dbcontext 类:imgur.com/xknJ1BC,这是我的连接字符串名称:imgur.com/tEUZikT,我从未修改过它,它过去运行良好。现在奇怪的是,我再次调试它现在我面临一个新错误:“连接超时。尝试使用登录前握手确认时超时时间已过。这可能是因为登录前握手失败或服务器无法及时响应。尝试连接到此服务器时所花费的持续时间是 - [登录前] 初始化 = 2593;握手 = 0;“
    • 如果是这种情况,那么您需要检查您的连接字符串是否正确以建立与数据库的连接并检查 SQL 服务器服务是否已启动。
    【解决方案2】:

    所以这已经解决了......我看到我的类“房间”中有一个属性“建筑物”,这正在创建外键约束错误,因为“房间”有一个楼层,而楼层有一个建筑物,在 Room 中建造房产正在制造这个问题。它从一开始就在那里,我开始了这个项目,是的并没有删除它:) 非常感谢你的帮助 Sandeep!祝你早日/晚安!

    【讨论】:

    • 很高兴听到您的问题已解决。 :) 祝你白天/黑夜也愉快。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多