我一直在使用EF 5代码首先,成功的,在我的应用程序。 我有大约40桌。 不过,我碰到,我似乎可以得到迁移正确处理的问题。 所以,我想要做的就是以某种方式告诉EF治疗数据库的当前模式作为新的起点,并开始从这个角度管理IT。 这样一来,我可以手动必要的架构更改,然后告诉EF基本上从这一点开始。
有没有一种方法,我可以做到这一点? 我相信我将不得不删除__MigrationHistory表,或删除其内容。 但我不知道如何以最佳方式这样做是为了继续。
我一直在使用EF 5代码首先,成功的,在我的应用程序。 我有大约40桌。 不过,我碰到,我似乎可以得到迁移正确处理的问题。 所以,我想要做的就是以某种方式告诉EF治疗数据库的当前模式作为新的起点,并开始从这个角度管理IT。 这样一来,我可以手动必要的架构更改,然后告诉EF基本上从这一点开始。
有没有一种方法,我可以做到这一点? 我相信我将不得不删除__MigrationHistory表,或删除其内容。 但我不知道如何以最佳方式这样做是为了继续。
你应该能够做到以下几点:
手动更改您的数据库,以反映由不会迁移处理模型的变化。 一切都应该现在的工作,但数据库和迁移系统不同步。
运行Add-Migration ManuallyUpdatedDatabase -IgnoreChanges
。 这将创建一个迁移是完全空的,所以它不会对数据库进行任何更改,但将确保该系统知道已经作出了手动更改。 这样的手动更改不会被包含在你创建一个迁移。
运行Update-Database
应用空迁移。
从这里开始,一切都应该像往常一样工作。 你只需要在你的迁移一个“缺失的一环”,因为你已经手工处理一些变化。