我观看了来自 MSDN 的截屏视频 BLOG谈到数据库迁移。
有谁知道我们什么时候可以使用这个功能?看起来它还不能在 CTP5 中工作。
顺便问一下,在我更改模式代码后,有什么方法可以播种初始数据吗?
这就是我现在正在做的,每次我更改模型时它都会删除所有数据。
DbDatabase.SetInitializer<Context>(
new DropCreateDatabaseIfModelChanges<Context>());
最佳答案
他们很可能在 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();
}
}
关于c# - 关于 Code First Database Evolution(又名迁移),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4703486/