Hvis du arbeider med mange datakilder i Visual Studio programmer så du trenger å lære om fordelene med Språk - Integrated Query . LINQ ble introdusert i Visual Studio 2008 for å gi programmerere en ny måte å spørring data fra ulike datakilder . LINQ tilbyr kraftige spørring evner til C # og Visual Basic. LINQ gir et sett av funksjoner som ikke bare lar deg søke fra relasjonsdatabaser som SQL Server , men også fra objekter i minnet eller filer. Historie
spørringer er kjent for å programmerere som enkle strenger definert i dataprogrammer til å hente data fra ulike datakilder . Ett problem med denne tradisjonelle tilnærmingen er at de strenger ikke er type kontrolleres under kompilering , og du kan gå glipp feil . En fordel med LINQ er at du kan fange opp disse feilene under kompilering uten å måtte vente til programmet utfører . I tillegg, med LINQ trenger du ikke å lære forskjellige spørrespråk for hver datakilde .
Spør data
En stor fordel i LINQ er at en datakilde kan være alt fra en streng, fil , database , matrise eller andre datakilder . Den første delen av en LINQ spørring er datakilden . Når du har lagt dataene inn i en queryable variabel, så kan du bruke LINQ til å spørre det. Den andre delen er spørring som spesifiserer informasjon å hente fra datakilden . En annen fordel fremfor den tradisjonelle spørringen tilnærming er spørringen kjøres av en LINQ spørring . Spørringen kjøres brukes til å iterere over spørringen variabel ved hjelp av en " foreach " statement i C # . Denne sløyfen brukes for å hente resultatene fra spørringen .
Query Operations
Query operasjoner er mye lettere å kjøre i LINQ over den tradisjonelle database spørringer etter å kunne få tilgang tabellen feltnavn enkelt. Filtrering benyttes til å filtrere dataene og er en av de mest vanlige operasjoner som utføres i en LINQ spørring. Det følgende er et eksempel på en LINQ spørring ved hjelp av filtrering i C # : en
Var queryLondonCustomers = fra Cust i customerswhere cust.City == " London " velg Cust ;
datakilder
å kunne spørre forskjellige datakilder er en stor fordel i LINQ . LINQ til SQL brukes til å søke relasjonelle data objekter . Det følgende er et eksempel på hvordan å spørre en database ved hjelp av LINQ to SQL : en
Northwnd db = new Northwnd ( @ "c : \\ northwnd.mdf "); IQueryable custQuery = fra Cust i db . Customerswhere cust.City == " London " velg kundeloj ;
Bruk LINQ to XML hvis du trenger å spørre en XML objekt. Følgende C #-kode viser et annet eksempel på hvor lett det er å søke et XML-dokument : en
XDocument srcTree = new XDocument ( ny XComment ("Dette er en kommentar" ) , new XElement ( "Root " , ny XElement ( " Child1 ", " data1 ") , new XElement ( " Child2 ", " data2 ") , new XElement ( " Child3 ", " Data3 ") , new XElement ( " Child2 " , " data4 ") , new XElement ( " Info5 ", " info5 ") , new XElement ( " Info6 ", " info6 ") , new XElement ( " Info7 ", " info7 ") , new XElement ( " Info8 ", " info8 ") ));
XDocument doc = ny XDocument ( ny XComment ("Dette er en kommentar" ) , new XElement ( "Root " , fra el i srcTree . Element ( "Root ") Elements () der ( ( streng) el ) startswith ( " data ") velger el )); . . Console.WriteLine ( doc ) ;