我想按以下顺序对结果进行分组。如何使用linq做嵌套组?
我想条目属于队属于学校。 我的输入模式通过FK链接到用户。 我的输入模型通过FK链接到Team。 团队通过m2m链接到用户。 用户由FK链接到学校。
我当前的查询看起来是这样的:
var y =
(from en in _db.Entries
where en.User.School_Id == schoolId
group en by en.Team_Id into te
select new
{
Team = te.Key,
Entries = te
}).ToList();
这完全返回球队与球队之下,将相应条目。
Teams
|
-Team A
--|
Entries
|
-Entry 1
-Entry 2
如何将这一切嵌入到学校分组中? (在演示我只是指定一个学生证,但在实践中会有学校ID列表以匹配。)
-Schools
|
-School A
-|
-Teams
-Team A
|
-Entries
|-Entry 1
|-Entry 2
我想直接绑定这一个gridview。 这是行之有效的,但有了额外的分组,我有点不确定它会如何影响这个标记。
<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:BoundField HeaderText="School" DataField="School" />
<asp:BoundField HeaderText="Team" DataField="Team" />
<asp:TemplateField HeaderText="Entries">
<ItemTemplate>
<asp:BulletedList ID="BulletedList1" runat="server"
DataSource='<%#Eval("Entries")%>' DataValueField="Name" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
UPDATE:
它没有看到整个模型有点难。您能否发布构建整个查询所需的所有模型类? –
@VladimirSachek我更新了问题以包含类图。这足够清楚了吗? – darren
您是否尝试过使用连接来查询所有3个实体? – Bayeni