设置
我有一个应用程序使用ASP.NET标识2.0。标识部分与应用程序所需的其余表共享一个数据库。因此,在一个类库中,我有一个dbcontext来访问业务数据的数据库,而在另一个类库中,我有一个IdentityModel.cs,即ApplicationDBContext。
问题:
所有这些都很好,直到我陷入混乱,试图弄清楚如何使用业务数据上下文中的迁移。最后,我删除了__MigrationHistory表,从而删除了数据库中两个上下文的所有模型元数据。
我现在得到以下错误:
无法检查模型兼容性,因为数据库不包含模型元数据。只能检查使用代码优先或代码优先迁移创建的数据库的模型兼容性。
我删除了所有与业务数据相关的迁移,并重新启用了该项目的迁移。这样做的效果是重新创建业务dbcontext的模型元数据。
然而,我不知道如何实现相同的身份元数据。
问题:
如何在__MigrationHistory中为ASP.NET标识2.0重新创建模型元数据?
发布于 2014-05-23 08:37:30
我不得不重新创建数据库,然后重新开始。我仍然处于黑暗之中,以至于我不知道Neel的答案是否是生产数据库的正确答案。现在,我没有时间对AspNet.Identity进行适当的研究,以找到问题的解决方案。抱歉的。
治疗前的预防:
我所做的知道的是,如果我没有删除__MigrationHistory表,问题就不会发生。因此,问题是自我伤害,所以预防而不是治疗是最好的选择。
因此,这个故事的寓意是:
道德:
永远不要删除__MigrationHistory表。在做任何如此愚蠢、无能、无车、彻头彻尾的蠢事之前,要多了解一点。
发布于 2014-04-29 12:45:20
用Global.asax.cs编写下面的代码,然后重试..。
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<TsContext>()); https://stackoverflow.com/questions/23364960
复制相似问题