ObjectDataSource с составными списками - PullRequest
1 голос
/ 03 февраля 2010

У меня есть один список, который содержит информацию об учениках

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 Ответ

1 голос
/ 03 февраля 2010

Вы можете присоединиться к двум в поле 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...