2
我试图播种数据库EF 4.1的代码,第一能力如何重写Database.SetInitializer在EF 4.1
我在Global.asax中
Database.SetInitializer<Context>(new DataContextInitializer());
我的Application_Start方法下面的代码
我的上下文类仅包含一些公共DbSet语句。
这里是我DataContextIntilializer类:
public class DataContextInitializer: CreateDatabaseIfNotExists<Context>
{
protected override void Seed(Context context)
{
new List<Member>{
new Member { LastName = "Allen", FirstName = "Steve", Email = "[email protected]" },
new Member { LastName = "Mickey", FirstName = "Mouse", Email = "[email protected]" },
new Member { LastName = "Optimus", FirstName = "Prime", Email = "[email protected]" },
}.ForEach(m => context.Members.Add(m));
base.Seed(context);
}
我的“保护覆盖无效种子”方法甚至没有被调用。我的执行不正确?我错过了什么吗?
谢谢!
拉迪斯拉夫,这是答案:)我误解了SetInitializer的目的。我认为CreateDatabaseIfNotExists会创建数据库,如果它不在那里。谢谢! – Chris 2012-01-17 16:33:47