我有一个包含学生信息的列表
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>
您可以在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();