2012-03-19 85 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

相关问题