Я 3 таблицы: Пользователь, курс, UserCourseсохранить отношения многие ко многим - EF
Как сохранить различные курсы для пользователя в таблице UserCourse с использованием Entity Framework?
Благодаря
Я 3 таблицы: Пользователь, курс, UserCourseсохранить отношения многие ко многим - EF
Как сохранить различные курсы для пользователя в таблице UserCourse с использованием Entity Framework?
Благодаря
Обычно структура субъекта преобразует таблицу ссылок на прямую связь. То есть, вы будете в состоянии сделать это:
someUser.Courses.Add(someCourse);
someUser.Courses.Remove(someOtherCourse);
someCourse.Users.Add(someOtherUser);
По крайней мере, если ваш UserCourse
стол настроен таким образом, что позволяет EF, чтобы сделать это. (т. е. только два столбца с двумя клавишами User
и Course
, установленный как ПК)
Таблица UserCourse должна быть таблицей соединений для EF для понимания отношений «многие ко многим». Например: UserId (PK), CourseId (PK)
После этого вы можете просто добавить объекты в коллекции сущностей.
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();
Те же логики для добавления курса к пользователю: user1.Courses.Add(math);