C# 实体框架4.1数据库中的代码优先和永久表
我有一个永久存储美国邮政编码和城市名称列表的表。不幸的是,在EF4.1中,如果我在开发过程中修改模型,那么整个数据库都需要删除并重新创建。由于EF中还不支持迁移,这似乎是一个问题。有什么想法吗?您可以使用自定义初始值设定项类。在这里,您可以在数据库发生更改时插入所有值。这是来自msdn的Contoso University示例C# 实体框架4.1数据库中的代码优先和永久表,c#,entity-framework,asp.net-mvc-3,orm,C#,Entity Framework,Asp.net Mvc 3,Orm,我有一个永久存储美国邮政编码和城市名称列表的表。不幸的是,在EF4.1中,如果我在开发过程中修改模型,那么整个数据库都需要删除并重新创建。由于EF中还不支持迁移,这似乎是一个问题。有什么想法吗?您可以使用自定义初始值设定项类。在这里,您可以在数据库发生更改时插入所有值。这是来自msdn的Contoso University示例 public class SchoolInitializer : DropCreateDatabaseIfModelChanges<SchoolContex
public class SchoolInitializer : DropCreateDatabaseIfModelChanges<SchoolContext>
{
protected override void Seed(SchoolContext context)
{
var students = new List<Student>
{
new Student { FirstMidName = "Carson", LastName = "Alexander", EnrollmentDate = DateTime.Parse("2005-09-01") },
new Student { FirstMidName = "Meredith", LastName = "Alonso", EnrollmentDate = DateTime.Parse("2002-09-01") },
new Student { FirstMidName = "Arturo", LastName = "Anand", EnrollmentDate = DateTime.Parse("2003-09-01") },
new Student { FirstMidName = "Gytis", LastName = "Barzdukas", EnrollmentDate = DateTime.Parse("2002-09-01") },
new Student { FirstMidName = "Yan", LastName = "Li", EnrollmentDate = DateTime.Parse("2002-09-01") },
new Student { FirstMidName = "Peggy", LastName = "Justice", EnrollmentDate = DateTime.Parse("2001-09-01") },
new Student { FirstMidName = "Laura", LastName = "Norman", EnrollmentDate = DateTime.Parse("2003-09-01") },
new Student { FirstMidName = "Nino", LastName = "Olivetto", EnrollmentDate = DateTime.Parse("2005-09-01") }
};
students.ForEach(s => context.Students.Add(s));
context.SaveChanges();
}
}
公共类学校初始值设定项:DropCreateDatabaseIfModelChanges
{
受保护的覆盖无效种子(学校上下文)
{
var students=新列表
{
新学生{FirstMidName=“Carson”,LastName=“Alexander”,registrmentdate=DateTime.Parse(“2005-09-01”)},
新学生{FirstMidName=“Meredith”,LastName=“Alonso”,registrmentdate=DateTime.Parse(“2002-09-01”)},
新学生{FirstMidName=“Arturo”,LastName=“Anand”,registrmentdate=DateTime.Parse(“2003-09-01”)},
新学生{FirstMidName=“Gytis”,LastName=“Barzdukas”,registrmentdate=DateTime.Parse(“2002-09-01”)},
新学生{FirstMidName=“Yan”,LastName=“Li”,registrmentdate=DateTime.Parse(“2002-09-01”),
新学生{FirstMidName=“Peggy”,LastName=“Justice”,registrmentdate=DateTime.Parse(“2001-09-01”),
新学生{FirstMidName=“劳拉”,LastName=“诺曼”,registrmentdate=DateTime.Parse(“2003-09-01”)},
新学生{FirstMidName=“Nino”,LastName=“Olivetto”,registrmentdate=DateTime.Parse(“2005-09-01”)}
};
ForEach(s=>context.students.Add);
SaveChanges();
}
}
实际上是第一个,但它仍然只是预览。你为什么要修改你的模型?!!改为修改数据库,然后更新模型。