Chr*_*ini 18 entity-framework code-first ef-code-first ef-migrations entity-framework-5
如果重命名属性,Visual Studio IDE非常智能,可以帮助您重构在整个代码中重命名该属性.如果重命名位于EF迁移中使用的模型上,则运行标准自动迁移,如:
update-database -f
Run Code Online (Sandbox Code Playgroud)
你会得到这个:
AddColumn("NewName"...
DropColumn("OldName"...
Run Code Online (Sandbox Code Playgroud)
不是你想要的.显然,此时运行Add-Migration将允许您进入并手动将这两个调用更改为对RenameColumn的单个调用,但是有一些方法可以让自动迁移自动执行此操作吗?一些财产重命名方法可能会让我做得不对劲?
我在VS2012中使用EF 5.0,但这种行为也出现在EF 4.3.1和VS2010中.
Row*_*ler 23
迁移无法自动检测属性和列的重命名.scaffolded migration将包含一个Drop/Create,您需要将其更改为Rename.
如果您只是重命名列(通过向属性添加[Column]注释),我们可以将其检测为重命名,因为我们可以匹配列映射到的属性的名称.
我们确实考虑将-Renames开关添加到Add-Migration命令,但最后我们决定编辑生成的代码比编写在命令行提供重命名的语法更容易.
〜罗文
归档时间: |
|
查看次数: |
4649 次 |
最近记录: |