基于代码的代码优先迁移
Posted
技术标签:
【中文标题】基于代码的代码优先迁移【英文标题】:Code Based Code First Migration 【发布时间】:2014-01-31 15:12:43 【问题描述】:如何在没有包管理器控制台命令的情况下实现代码优先迁移。我想通过使用代码来实现 Code First Migrations 逻辑。 我不想写以下命令
PM > Enable-Migrations
PM > Add-Migration
PM > Update-Database
请告诉我最佳做法。
提前致谢
【问题讨论】:
【参考方案1】:看看使用安装 EF 包时提供的 migrate.exe 工具。
http://msdn.microsoft.com/en-gb/data/jj618307.aspx
理论上,您可以从您的代码中调用它。
【讨论】:
【参考方案2】:我不知道为什么你会反对前两个,但我完全理解最后一个。您正在寻找 DBMigrator 类。您可以使用它来检查需要运行多少迁移,并迁移到任何版本。如果您可以使用 Update-Database 来完成,您可以在代码中完成。我在下面引用了一个类似的例子。
Triggering EF migration at application startup by code
【讨论】:
感谢您的建议,实际上我想在我的代码中实现以下所有三个命令 PM > Enable-Migrations PM > Add-Migration PM > Update-Database。如果我在模型类中更改任何内容(添加或删除字段),那么它会使用代码中的逻辑自动将代码与数据库同步(无论是在 Global.aspx 中还是在 DbContex 类中)。谢谢,以上是关于基于代码的代码优先迁移的主要内容,如果未能解决你的问题,请参考以下文章