繁体   English   中英

EF6:使用代码优先迁移重命名名称空间

[英]EF6: Renaming namespace using Code First Migrations

我可以重命名整个Project的名称空间(当然包括DbContext类,Migrations配置类等),而无需中断任何操作或不必重新创建所有的迁移?

说,我有Project MyProject,哪个名称空间是

Foo.MyProject

我的配置类在

Foo.MyProject.Migrations

假设我想为Bar重命名Foo命名空间,当然,现在我的Configurations命名空间将是

Bar.MyProject.Configurations

有什么正确的方法可以做到这一点,并使我目前所有的迁移工作仍在进行吗? 这些方法是否涉及手动编辑___MigrationHistory表或其他内容? (乍一看,我看到了ContextKey列,我怀疑应该手动对其进行编辑。)

是的,您确实确实需要更新__MigrationHistory表中的ContextKey。 码:

UPDATE [dbo].[__MigrationHistory] 
   SET [ContextKey] = 'New_Namespace.Migrations.Configuration'
 WHERE [ContextKey] = 'Old_Namespace.Migrations.Configuration'

很好的阅读有关使用EF6重命名名称空间的主题:

http://jameschambers.com/2014/02/changing-the-namespace-with-entity-framework-6-0-code-first-databases/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM