具有复合列表的 ObjectDataSource

发布于 2024-08-19 18:44:49 字数 649 浏览 4 评论 0原文

我有一个包含学生信息的列表

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>

I have one list that contains Student informations

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

And I have another one that contains Student Lessons

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

I want to merge these lists to one ObjectDataSource to bind to a repeater.

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何以心动 2024-08-26 18:44:49

您可以在 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();

You could join the two on the id field and select out the fields of interest into a new, anonymous type.

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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文