我已启用自动迁移。然后,我删除了整个数据库。接下来,我执行了Update-database
从命令控制台,它重新创建了我的数据库。然后,我启动我的应用程序却看到了这个错误:
无法检查模型兼容性,因为数据库不支持
包含模型元数据。只能检查型号兼容性
使用 Code First 或 Code First 迁移创建的数据库。
那么元数据到底是什么?我如何将实体框架指向它?
附言。我的数据库包含名为的表MigrationsHistory
.
这是我不久前写的解决此问题的可能方法的详细描述......
(不完全是您所经历的,因此本身不是重复的,而是考虑到不同的场景)
https://stackoverflow.com/a/10255051/417747
总结一下...
对我有用的是使用 Update-Database -Script
这将创建一个具有“迁移差异”的脚本,您可以
在目标服务器数据库上手动应用为 SQL 脚本(并且您
应该插入正确的迁移表行等)。
如果这仍然不起作用 - 你仍然可以做两件事......
a) 删除迁移表(目标 - 在系统表下) - 按照http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx那里的评论 - 这应该会回到以前的行为,如果
你确信你的 Db-s 是相同的 - 它只是要“信任”
你',
b)作为我使用的最后手段 - 制作一个更新数据库脚本
完整模式(例如,通过初始化一个空数据库,这应该强制
'完整脚本'),找到 INSERT INTO [__MigrationHistory] 记录,
只需运行它们,将它们插入数据库,并确保您的
数据库 - 和代码匹配,
这应该会使事情再次同步运行。
如果有帮助的话
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)