Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架4.1数据库中的代码优先和永久表_C#_Entity Framework_Asp.net Mvc 3_Orm - Fatal编程技术网

C# 实体框架4.1数据库中的代码优先和永久表

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

我有一个永久存储美国邮政编码和城市名称列表的表。不幸的是,在EF4.1中,如果我在开发过程中修改模型,那么整个数据库都需要删除并重新创建。由于EF中还不支持迁移,这似乎是一个问题。有什么想法吗?

您可以使用自定义初始值设定项类。在这里,您可以在数据库发生更改时插入所有值。这是来自msdn的Contoso University示例

    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();
}
}

实际上是第一个,但它仍然只是预览。

你为什么要修改你的模型?!!改为修改数据库,然后更新模型。