J'ai 3 tables: User, Cours, UserCoursesauver plusieurs à plusieurs - EF
comment puis-je enregistrer les différents cours pour un utilisateur sur la table à l'aide UserCourse Entity Framework?
Merci
J'ai 3 tables: User, Cours, UserCoursesauver plusieurs à plusieurs - EF
comment puis-je enregistrer les différents cours pour un utilisateur sur la table à l'aide UserCourse Entity Framework?
Merci
Habituellement, Entity Framework convertit votre table de lien vers une relation directe. Autrement dit, vous serez en mesure de le faire:
someUser.Courses.Add(someCourse);
someUser.Courses.Remove(someOtherCourse);
someCourse.Users.Add(someOtherUser);
Au moins si votre table UserCourse
est configuré d'une manière qui permet de le faire EF. (c'est-à-dire uniquement deux colonnes avec les deux clés User
et Course
définies comme PK)
La table UserCourse doit être une table de jonction pour que EF puisse comprendre la relation plusieurs-à-plusieurs. Par exemple: UserId (PK), CourseId (PK)
Ensuite, vous pouvez simplement ajouter des entités aux collections d'entités.
var context = new MyModel();
var user1 = new User { Name = "u1" };
var user2 = new User { Name = "u1" };
context.Users.Add(user1);
context.Users.Add(user2);
var math = new Course { Name = "Math" };
context.Courses.Add(math);
math.Users.Add(user1);
math.Users.Add(user2);
context.SaveChanges();
Les mêmes logiques pour ajouter bien sûr à l'utilisateur: user1.Courses.Add(math);