2011-01-13 2 views
0

사용자, 코스, 사용자 경로많은 관계를 저장 - EF

Entity Framework를 사용하여 UserCourse 사용자에 대한 다른 코스를 저장하려면 어떻게해야합니까?

감사

답변

0

보통, 엔티티 프레임 워크는 직접적인 관계에 링크 테이블을 변환합니다. 즉,이 작업을 수행 할 수있을 것입니다 : 당신의 UserCourse 테이블 EF 그렇게 할 수있는 방식으로 설정되어 적어도 경우

someUser.Courses.Add(someCourse); 
someUser.Courses.Remove(someOtherCourse); 

someCourse.Users.Add(someOtherUser); 

. (UserCourse의 키가 PK로 설정된 두 열만)

0

UserCourse 테이블은 다 대다 관계를 이해하기위한 접합 테이블이어야합니다. 예 : 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);

관련 문제