我有一个针对 SQL Server 2012 数据库使用 EF Code First 的应用程序。我正在使用 DropCreateDatabaseIfModelChanges 初始化程序。
我的开发机器上有一个数据库,我想转移到我的测试机器上,为此我正在尝试使用备份/恢复。不幸的是,这样做后,我得到了可怕的“无法检查模型兼容性,因为数据库不包含模型元数据”错误。
我不明白为什么会这样——数据库在我的开发机器上工作正常。不能将数据库转移到另一台机器上吗?
我有一个针对 SQL Server 2012 数据库使用 EF Code First 的应用程序。我正在使用 DropCreateDatabaseIfModelChanges 初始化程序。
我的开发机器上有一个数据库,我想转移到我的测试机器上,为此我正在尝试使用备份/恢复。不幸的是,这样做后,我得到了可怕的“无法检查模型兼容性,因为数据库不包含模型元数据”错误。
我不明白为什么会这样——数据库在我的开发机器上工作正常。不能将数据库转移到另一台机器上吗?
已解决:问题是 __MigrationHistory 表虽然存在,但由于数据库权限不足,应用程序无法访问。我(暂时)将用户设置为数据库上的 DBO,一切正常。(给贾扬塔的帽子小费)。
现在元数据表已从代码优先数据库中删除,并将该__MigrationHistory
表添加到系统表中。您可以尝试Enable-Migrations
在包管理器控制台中运行命令。这里有更多细节。