2010-02-03 4 views
1

I이 학생 정보 ObjectDataSource를

lsStudents = context.GetTable<Student>().Where(p => p.M_Id.Equals(1)).ToList(); 

이 포함되어 내가 학생 수업을 포함하는 다른 하나가 하나 개의 목록

lsMarks = context.GetTable<Mark>().Where(p => p.M_StudentId.Equals(1)).ToList(); 

내가 바인딩 하나 ObjectDataSource를 이러한 목록을 병합 할 리피터.

<asp:Repeater ID="rpt" runat="server"> 
    <ItemTemplate> 
     <div><% Databinder.Eval(Container.DataItem,"M_StudenName") %></div> 
     <div><% Databinder.Eval(Container.DataItem,"M_Mark") %></div> 
    </ItemTemplate> 
</asp:Repeater> 

답변

1

당신은 id 필드에있는 두 개의 참여할 수 있으며, 새로운, 익명 형식으로 관심있는 분야를 선택합니다.

var lsStudentWithMarks = context.GetTable<Student>().Where(p => p.M_id.Equals(1)) 
           .Join(context.GetTable<Mark>().Where(p => p.M_StudentId.Equals(1), (o,i) => o.M_Id == i.M_StudentId, (o,i) => new { o.M_StudentName, i.M_Mark }) 
           .Select(j => new { j.M_StudentName, j.M_Mark }) 
           .ToList(); 
관련 문제