我有3个表:用户,课程,用户课程
如何使用Entity Framework在桌面UserCourse上保存用户的不同课程?
由于
答案 0 :(得分:0)
通常,实体框架会将您的链接表转换为直接关系。也就是说,您将能够这样做:
someUser.Courses.Add(someCourse);
someUser.Courses.Remove(someOtherCourse);
someCourse.Users.Add(someOtherUser);
至少如果您的UserCourse
表的设置方式使EF能够这样做。 (即只有两列,User
和Course
的两个键设为PK)
答案 1 :(得分:0)
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);