![]() |
1
16
一旦一个名为entityframework.migrations的nuget包出现,就会出现这种情况。 Scott Hanselman在TechEd 2011上进行了演示(在线提供 http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV349 )相关部分为45分钟。 简而言之,安装包后,您将在包管理器控制台中输入以下内容以生成数据库更改脚本:
更新(2011年11月13日)
这个包的alpha 3版本现在可以在nuget上使用。而不是使用Cmdlet
更新(2012年2月14日) 此功能现在作为主功能的一部分提供 EntityFramework NuGet package ,从4.3版开始。安 updated walk-through 使用EF4.3可以在ADO.NET团队博客中找到。 |
![]() |
2
2
你可以试试 Wizardby :这是一个用于管理数据库迁移的工具。它不与英孚整合(因为在这方面几乎不可能与英孚整合),但可以完成这项工作。 |
![]() |
3
1
斯科特古在 blog entry :
[编辑] 我想他可能指的是 Entity Designer Database Generation Power Pack 正如莫蒂扎·玛纳维在 another SO answer . |
![]() |
4
0
好吧,如果你想像ActiveRecord那样工作,那么你需要像ActiveRecord那样工作。:) 但是,如果您想先使用模型,但仍然使用迁移,这是可能的,但需要为您做额外的工作。模型首先将生成一个数据库更改脚本。您必须将相关部分提取到迁移中,并手动编写撤销脚本。虽然这需要一些体力劳动,但对我来说并不难。 |
![]() |
5
0
我正在开发一种替代EF.Migrations库的方法- EntityFramework.SchemaCompare . 它允许将数据库模式与表示数据库上下文的实体模型进行物理比较(ef.migrations不这样做)。这可以在数据库初始化期间触发,也可以根据请求手动触发。考虑下面的例子
如果发现不兼容问题,它将在数据库初始化期间抛出一个异常,描述数据库模式和模型之间的差异。或者,您可以随时通过这种方式在代码中发现这些差异
然后,手头上有这些差异/不兼容问题,您可以更新DB模式或模型。 当您需要完全控制数据库模式和模型设计和/或在多个团队成员在同一个DB模式和模型上工作的团队中工作时,此方法特别有用。它还可以用于ef.migrations之外。 在Github分给我: https://github.com/kriasoft/data |