LINQ to SQL, list i list ...
Hej,Jeg har det her:
var list = from s in DB.Servers
orderby s.Country.Name ascending, s.Sort ascending
select new { CountryName = s.Country.Name, Servers = new { ServerName = s.Name, ServerAlias = s.Alias } };
Her kan jeg godt sortere rigtigt ... da jeg går fra Child til Parent.
Skal sortere først på Parent og deres på en Sort Column ...
var list1 = from c in DB.Countries
orderby c.Name ascending, c.(need some magic here).Sersers.Sort ascending
select new { CountryName = c.Name, Servers = c.Servers.Select(a => new { ServerName = a.Name, ServerAlias = a.Alias }) };
Her trækker jeg data ud fra Parent til Child ... men kan ikke sortere på min Child Table.
Hvorfor vil jeg så gøre det sådan her ...
Jo, jeg vil have alle lande listet først, og dertil alle deres servere ...
Så jeg kan lave databind ala:
<asp:Repeater ID="re" runat="server">
<ItemTemplate>
<tr>
<td><%# Eval("CountryName") %></td>
<td>
<asp:Repeater ID="re2" DataSource='<%# Eval("Servers") %>' runat="server">
<ItemTemplate>
<%# Eval("ServerAlias") %>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
Problemet er at det kun virker i sidste ... men der kan jeg ikke få den til at sortere på en column i Child table.
Er det muligt at få list til at lave en Liste i første ? og hvis ja, hvordan? Jeg kan ikke lige gennemskue hvordan syntaxen for det ville være ...
Men noget ala en gang join/group by må vel kunne være det ... synes det er lidt overkill at lave en masse ekstra class for at lave mit egen løsning hvis det kan gøre med LINQ.
Siden bliver Cache så performance er ikke så vigtigt, synes bare det er mærkeligt at jeg ikke kan løse det og tænkte at folk her næsten må vide det :-)
I tvivl om noget ... just ask.
Fyr løs gutter og gutinder :-)
// ouT