En simpel menu med LINQ

Published 15 September 08 09:50 AM

LINQ 2 SQL er så simpelt at arbejde med, at alle kan være med. Det er noget jeg virklig har savnet hos Microsoft. Low-key technologies!

Jeg holder på at LINQ 2 SQL er det "de unge vil have". Der er selvfølgelig også andre teknologier som er fede, men overvej hvor nemt det er at lave en LINQ 2 SQL model. Jeg kunne nå at lave en mens du læser dette. Det er lav praktisk, du får noget for hånden i en pokkers fart også integrere det direkte med værktøjet.

Der var en der spurgte hvordan man kan lave en menu på en hjemmeside hvis ens model så nogenlunde således ud:

tableReles

Vi vil gerne have listet alle kategorier og et tal på hvor mange sider der er hæftet på en enkelt kategori. Det er meget nemt.

Du kunne gøre således:

    protected void Page_Load(object sender, EventArgs e)
    {
        using( TestingDataContext ctx = new TestingDataContext() ) {
            foreach( var item in ( from cats in ctx.Categories
                                   select cats ).ToList() ) {
                Response.Write( item.categoryName + "(" + item.Pages.Count + ") <br/>" );
            }
        }
    }

Outputtet ser sådan her ud:

webview

Jeg elsker LINQ 2 SQL!

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# En simpel menu med LINQ : EasyCoded said on September 15, 2008 4:55 AM:

PingBack from http://www.easycoded.com/en-simpel-menu-med-linq/

# Andreas Jydebjerg said on September 17, 2008 5:00 AM:

Linq2Sql er ganske rigtigt meget hurtigt til at få data ud af databasen og ind i en objekt model. Det er dog værd at huske at Linq2Sql ikke kræver at man derefter anvender Linq statements op imod modellen og i dette tilfælde er det ganske overflødigt idet du blot kan iterere ctx.Categories da dit linq statement alligevel udvælger alle elementer.

using (TestingDataContext ctx = new TestingDataContext())

{

 foreach (var item in ctx.Categories)

 {

   Response.Write(item.categoryName +

     "(" +

     item.Pages.Count +

     ") <br/>");

 }

}

   }

# danielmf said on September 17, 2008 6:53 AM:

Hej Andreas.

Du har fuldstændig ret, og jeg tænkte det samme da jeg skrev posten. Dog prøver jeg det lægge op til, at man via LINQ kan spørge på sine data på en deklarativ måde.

:)

Leave a Comment

(required) 
(optional)
(required) 

  
Enter Code Here: Required

This Blog

Syndication

Page view tracker