好吧,我有一点背景如何到达这里.我正在重建一个旧的MVC3网站.我最近有一个Database First MVC5 EF6项目,该项目具有要使用的UI包.我复制了现有项目并撕下了几乎所有内容(所有项目特定的POCO模型,DbContext,Views等),基本上我只是将新的Identity内容与UI框架一起留在其中.
我创建了脚本来将数据库从SQLMembership手动转换为Identity 2.0(以及一些用于密码转换的代码).一切正常,编译完成,我可以以现有用户身份登录.
下一步,我创建了一个新的临时项目(我不想弄乱实际的项目名称空间),从新数据库为所有现有表生成POCO模型,将它们复制到我的项目中,然后手动编写了DataModel Fluent API代码.我在模型生成过程中遇到了一些验证错误,我没有解决任何问题.但是现在,当尝试执行任何将访问已存在__MigrationHistory的DataModel的操作时,我得到一个异常错误.
进一步调查EF SQL调试输出后,它正在尝试运行脚本来创建数据库中的所有表,由于它已存在,因此在尝试创建__MigrationHistory表时最终抛出错误(尽管我应该注意它没有记录).
那我在做什么不同? EF如何知道不要在我的其他工作正常的项目中尝试这样做,并且在DataModel结构和POCO Model结构方面与我的新项目相同?我该怎么解决?我知道我可以创建自己的初始化程序(How can I disable the use of the __MigrationHistory table in Entity Framework 4.3 Code First?),但我更希望了解正在发生的事情并在源代码处进行修复,而不是在其周围进行编码.