Je tente de répertorier un groupe d'associations, dans chaque association est un «widget» qui est attribué à l'association. La liste inclura le nom de l'association et tout widget qui lui est assigné. Le problème est que la liste de widgets interne doit être triée par DisplaySequence.Trier répéteur interne avec requête LINQ
EDMX modèle ci-dessous:
simplifié Répéteur Majoration
<asp:Repeater ID="rptAssociations" runat="server">
<ItemTemplate>
<div data-type="assn" id="<%# ((Association)Container.DataItem).AssociationID %>">
<h3 style="margin-top:15px;"><%# ((Association)Container.DataItem).Acronym %> - <%# ((Association)Container.DataItem).Name %></h3>
<asp:Repeater runat="server" ID="rptWidgets" DataSource="<%# ((Association)Container.DataItem).AssociationWidgets %>" >
<HeaderTemplate>
<ul class="WidgetList">
</HeaderTemplate>
<ItemTemplate>
<li id="<%# ((AssociationWidget)Container.DataItem).DisplaySequence %>"><%# ((AssociationWidget)Container.DataItem).Widget.Name %></li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>
Requête en cours
var associations = (from a in
context.Associations.Include("AssociationWidgets")
.Include("AssociationWidgets.Widget")
orderby a.Acronym
select a).ToList();
rptAssociations.DataSource = associations;
rptAssociations.DataBind();
Je suis actuellement en mesure d'obtenir le d ata que je cherche avec la configuration que j'ai maintenant. Je suis à la recherche de l'approche la plus efficace pour obtenir ces mêmes données, cependant, avoir les Widgets répertoriés dans le bon ordre d'affichage.
Y a-t-il une approche différente de la requête linq que je devrais prendre?