1

DB : Student, StudentCourse에 2 개의 테이블이 있다고 가정합니다. 복합으로 StudentCourse을 설정 학생을위한 메타 데이터에서복합 개체에서 레코드를 정렬하는 방법은 무엇입니까?

는 :

public IQueryable<Student> GetStudentByID(int id) 
{ 
    reutrn this.ObjectContext.Students.Include("StudentCourse").Where(s => s.ID == id) as IQueryable<Student>; 
} 

질문은 다음과 같습니다 : 나는 할 수있다 StudentCourse의 기록하려는

학생에 대한 도메인 서비스에서
[Include] 
[Composition] 
public EntityCollection<StudentCourse> StudentCourses { get; set; } 

처럼 StudentCourse을 inlcude 예를 들어 CourseID와 같이 StudentCourses에서 열별로 정렬됩니다.

한 학생의 StudentCourse 기록은 실제로 StudentCourse의 개체 모음입니다.

이 문제를 해결하는 방법?

+0

당신이''어디에요 (...)'후'.OrderBy을 (들 => s.CourseId)를 추가 해봤 시도 할 수 있습니다? –

+0

은 람다 식으로, s는 StudentCourse가 아니라 Student의 값입니다 .CourseID는 s에 사용할 수 없습니다. – KentZhou

답변

0

일반 SQL에서조차 할 수없는 것은 무엇입니까? 공급자가 그와 같은 뭔가를해야만 지원하는 경우

this.ObjectContext.Students.Include("StudentCourse").Where(s => s.ID == id).OrderBy(x=> x.StudentCourse.First().CourseId) as IQueryable<Student> 
+0

감사합니다. 그것을 시도했다. 작동 안함. – KentZhou

+0

그래서 나는 당신이 원하는 것을하기위한 깨끗한 방법이 가능하다고 믿지 않습니다. 또한, 위의 방법으로 제안한 방법조차도 ... 더미! 첫 번째 StudentCourse.CourseID를 통해 학생들에게 주문할 것입니다. 얼마나 유용 할 수 있습니까? 질문을 더 의미있는 것으로 재구성하려합니다. – mCasamento

+0

고마워요. "이상한 오류가 발생했습니다 :"열이 목록별로 두 번 이상 지정되었습니다. 목록별로 정렬 된 열은 고유해야합니다. " – KentZhou

관련 문제