Похоже, вы непреднамеренно повторяете коллекцию категорий дважды.
var coachs = new List<Coach>
{
new Coach{Nom="Guith",Prenom="Etienne", Login="etienneguith",Password="etienneguith",Profession="Neurologue",Cour="Medecine generale",Email="guithetienne@mic.be",agenda=temp1},
new Coach{Nom="John",Prenom="Robert", Login="robertjohn",Password="robertjohn",Profession="Juge",Cour="Droit Penal",Email="robertjohn@mic.be",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="guithetienne@mic.be",agenda=temp1},
new Coach{Nom="John",Prenom="Robert", Login="robertjohn",Password="robertjohn",Profession="Juge",Cour="Droit Penal",Email="robertjohn@mic.be",agenda=temp2},
};
coachs.ForEach(s => context.Coachs.Add(s));
context.SaveChanges();