Avatar billede Syska Mester
05. februar 2009 - 12:56

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
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester