2014-12-25 55 views
0

,当我使用它来初始化我的数据库中的对象的应用程序不运行:初始化对象在实体框架代码数据库首先

public class MiradorInitializer : DropCreateDatabaseAlways<MiradorContext> 
{ 
    protected override void Seed(MiradorContext context) 
    { 
     Client tom = new Client("Tom", "De Backer"); 
     Booking bookingtom = new Booking("21-02-12", "05-03-12", 450); 
     bookingtom.Client = tom; 

     Client jeroen = new Client("Jeroen", "De Backer"); 
     Booking bookingjeroen = new Booking("01-06-13", "16-09-13", 5460); 
     bookingjeroen.Client = jeroen; 

     context.Bookings.Add(bookingtom); 
     context.Bookings.Add(bookingjeroen); 
     context.SaveChanges(); 
    } 
} 

但它确实当我初始化这些对象和.SaveChanges在我的主方法。我的初始化方法有什么问题吗?

public class Program 
{ 
    private static IEnumerable<Booking> bookings; 

    public static void Main(string[] args) 
    { 
     MiradorContext context = new MiradorContext(); 
     Client tom = new Client("Tom", "De Backer"); 
     Booking bookingtom = new Booking("21-02-12", "05-03-12", 450); 
     bookingtom.Client = tom; 

     Client jeroen = new Client("Jeroen", "De Backer"); 
     Booking bookingjeroen = new Booking("01-06-13", "16-09-13", 5460); 
     bookingjeroen.Client = jeroen; 

     context.Bookings.Add(bookingtom); 
     context.Bookings.Add(bookingjeroen); 
     context.SaveChanges(); 
     Console.ReadKey(); 
     readBookings(context); 
    } 

    public static void readBookings(MiradorContext context) 
    { 
     Console.WriteLine("\n---Opvragen alle bookings---"); 
     var bookings = from b in context.Bookings 
         orderby b.Client.Familienaam 
         select b; 
     foreach (Booking booking in bookings) { 
      Console.WriteLine(booking.Id + ": " + booking.Client.Familienaam + " " + booking.Client.Voornaam+" - Van "+booking.DatumVan+" tot "+booking.DatumTot+" voor "+booking.Prijs+" euro."); 
     } 
     Console.ReadKey(); 
    } 
} 

回答

0

在你MiradorContext类的构造函数确保你设置的初始化器这样

static MiradorContext() 
{ 
    Database.SetInitializer<MiradorContext>(new MiradorInitializer()); 
} 
+0

感谢我的学校当然有一个完整的解释和示例,但此行不知何故被排除在外。 – ManyQuestions