EF6:使用Code First Migrations重命名命名空间
我可以重命名整个Project的命名空间(当然包括:DbContext类,迁移配置类等),而不会破坏任何内容或不得不重新创建我的所有迁移?
说,我有Project MyProject,命名空间是
Foo.MyProject
我的配置类在
Foo.MyProject.Migrations
假设我想为Bar重命名Foo命名空间,当然我的配置命名空间现在将是
Bar.MyProject.Configurations
有没有正确的方法来保持我目前的所有迁移仍然有效? 这些方法是否涉及手动编辑___MigrationHistory表或其他什么? (一眼就能看到ContextKey列,我怀疑我应该手动编辑。)
是的,您确实需要更新_MigrationHistory表中的ContextKey。 码:
UPDATE [dbo].[__MigrationHistory] SET [ContextKey] = 'New_Namespace.Migrations.Configuration' WHERE [ContextKey] = 'Old_Namespace.Migrations.Configuration'
关于使用EF6重命名命名空间主题的一个很好的阅读: