2011-07-30 9 views
0

米国の郵便番号と都市名のリストを永久に格納するテーブルがあります。残念ながら、EF 4.1では、開発中にモデルを変更すると、データベース全体を削除して再作成する必要があります。 EFではまだ移行はサポートされていないため、これは問題であるようです。何か案は?Entity Framework 4.1コードデータベース内の最初と永久テーブル

+0

なぜモデルを変更していますか?代わりにdbを変更し、モデルを更新してください。 – saber

答えて

2

あなたはカストムイニシャライザクラスを使用できます。ここでは、データベースの変更が発生したときにすべての値を挿入できます。これは、msdnのContoso Universtyの例です。

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


    } 
} 
関連する問題