13

我观看了来自 MSDN BLOG的关于数据库迁移的截屏视频。

有谁知道我们什么时候可以使用这个功能?看起来它在 CTP5 中还不起作用。

顺便说一句,在我更改架构代码后,有没有办法播种初始数据?

这就是我现在正在做的事情,每次我更改模型时它都会擦除所有数据。

DbDatabase.SetInitializer<Context>(
    new DropCreateDatabaseIfModelChanges<Context>());
4

3 回答 3

10

他们最有可能在 2011 年第一季度推出的 RTM 版本中获得此迁移功能。

要使用一些初始数据填充数据库,您可以创建自己的数据库初始化程序并让它从您所需的策略继承(现在我们有 2 个选项),然后覆盖其中的Seed方法:

public class MyInitializer : DropCreateDatabaseIfModelChanges<MyContext>
{
    protected override void Seed(InheritanceMappingContext context)
    {        
        MyEntity entity = new MyEntity()
        {
            ...
        };
        context.MyEntities.Add(entity);
        context.SaveChanges();
    }
}
于 2011-01-16T04:05:05.147 回答
1

Alpha 3 现已推出。 http://blogs.msdn.com/b/adonet/archive/2011/09/21/code-first-migrations-alpha-3-no-magic-walkthrough.aspx

于 2011-10-12T22:56:42.947 回答
0

EF 4.1 候选版本已于 3 月发布,似乎尚未包含此迁移功能

于 2011-06-17T17:56:31.280 回答