我观看了MSDN BLOG的一个关于数据库迁移的截屏视频。
有谁知道我们什么时候可以使用此功能?看起来它在CTP5中还不起作用。
顺便说一句,在更改架构代码后,有没有办法播种初始数据?
这就是我现在正在做的事情,它每次更改模型时都会擦除所有数据。
DbDatabase.SetInitializer<Context>(
new DropCreateDatabaseIfModelChanges<Context>());
答案 0 :(得分:10)
他们很可能在RTM版本中获得此迁移功能,该版本的目标是2011年第一季度。
要使用一些初始数据填充数据库,您可以创建自己的数据库初始化程序并让它继承您所需的策略(现在我们有2个选项),然后覆盖其中的 Seed 方法:
public class MyInitializer : DropCreateDatabaseIfModelChanges<MyContext>
{
protected override void Seed(InheritanceMappingContext context)
{
MyEntity entity = new MyEntity()
{
...
};
context.MyEntities.Add(entity);
context.SaveChanges();
}
}
答案 1 :(得分:1)
Alpha 3现在已经出局了。 http://blogs.msdn.com/b/adonet/archive/2011/09/21/code-first-migrations-alpha-3-no-magic-walkthrough.aspx
答案 2 :(得分:0)
EF 4.1候选版本已于3月发布,看起来尚未包含此迁移功能