2012-03-19 117 views
1

我先使用EF代碼來編譯我的項目。 我使用seed方法初始化數據庫中的數據,但只有一些類模型數據已經註冊到數據庫中。 我沒有任何警告或問題。 爲爲例: 1)不EF 4.1代碼優先初始化我的數據庫

var categories = new List<Categorie>{ 
       new Categorie{Nom="Informatique"}, 
       new Categorie{Nom="Bien Etre"}, 
}; 
      categories.ForEach(s => context.Categories.Add(s)); 
      context.SaveChanges(); 

級車型:

public class Categorie 
    { 
     public int CategorieID { get; set; } 
     public string Nom { get; set; } 
     public virtual ICollection<Cour> Cours { get; set; } 
    } 

2)完成

var coachs = new List<Coach> 
      { 
new Coach{Nom="Guith",Prenom="Etienne", Login="etienneguith",Password="etienneguith",Profession="Neurologue",Cour="Medecine generale",Email="[email protected]",agenda=temp1}, 
new Coach{Nom="John",Prenom="Robert", Login="robertjohn",Password="robertjohn",Profession="Juge",Cour="Droit Penal",Email="[email protected]",agenda=temp2}, 
}; 
     categories.ForEach(s => context.Categories.Add(s)); 
     context.SaveChanges(); 

類模型

public class Coach 
    { 
     public int CoachID { get; set; } 
     public string Nom { get; set; } 
     public string Prenom { get; set; } 
     public string Login { get; set; } 
     public string Password { get; set; } 
     public string Profession { get; set; } 
     public string Cour { get; set; } 
     public string Email { get; set; } 
     public DateTime agenda { get; set; } 


     public virtual ICollection<Session> Sessions { get; set; } 

    } 
+0

是'Coach'收集沒有得到寫入數據庫? – 2012-03-19 22:12:32

+0

你能分享執行播種的代碼嗎? – 2012-03-19 22:12:41

+0

我假設這段代碼來自'IDatabaseInitializer'實現的'Seed()'方法。你可以發佈其餘的實現,以及設置數據庫初始化程序的代碼嗎? – 2012-03-22 18:09:56

回答

3

看起來,你是unint單獨迭代類別集合兩次。

var coachs = new List<Coach> 
{ 
    new Coach{Nom="Guith",Prenom="Etienne", Login="etienneguith",Password="etienneguith",Profession="Neurologue",Cour="Medecine generale",Email="[email protected]",agenda=temp1}, 
    new Coach{Nom="John",Prenom="Robert", Login="robertjohn",Password="robertjohn",Profession="Juge",Cour="Droit Penal",Email="[email protected]",agenda=temp2}, 
}; 

categories.ForEach(s => context.Categories.Add(s)); 
context.SaveChanges(); 

看起來應該是:

var coachs = new List<Coach> 
{ 
    new Coach{Nom="Guith",Prenom="Etienne", Login="etienneguith",Password="etienneguith",Profession="Neurologue",Cour="Medecine generale",Email="[email protected]",agenda=temp1}, 
    new Coach{Nom="John",Prenom="Robert", Login="robertjohn",Password="robertjohn",Profession="Juge",Cour="Droit Penal",Email="[email protected]",agenda=temp2}, 
}; 

coachs.ForEach(s => context.Coachs.Add(s)); 
context.SaveChanges(); 
+0

對不起,這只是一個錯誤,當我發佈我的問題,我粘貼相同的代碼。在我的項目這是非常像你改變,但它不起作用 – user1235486 2012-03-20 10:06:28