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