Hvis du arbejder med mange datakilder i dine Visual Studio -programmer så er du nødt til at lære om fordelene ved Language - Integrated Query . LINQ blev introduceret i Visual Studio 2008 til at give programmører en ny måde at søge data fra forskellige datakilder. LINQ tilbyder stærke søgemuligheder til C # og Visual Basic. LINQ indeholder et sæt af funktioner , der ikke kun giver dig mulighed for at forespørge fra relationelle databaser såsom SQL Server , men også fra objekter i hukommelse eller filer. Historie
Forespørgsler er kendt for at programmører som enkle strings defineret i edb-programmer til at hente data fra forskellige datakilder. Et problem med denne traditionelle tilgang er, at disse strenge ikke er type kontrolleres under kompilere tid, og du kan gå glip af fejl. En fordel med LINQ er, at du kan fange disse fejl under compile tid uden at skulle vente, indtil programmet udfører . Derudover kan du med LINQ ikke behøver at lære forskellige forespørgselssprog for hver datakilde.
Forespørgsler om data
En stor fordel i LINQ er, at en datakilde kan være alt fra en streng , en fil, database , array eller andre datakilder . Den første del af en LINQ forespørgsel er datakilden. Når du har indlæst dataene i en queryable variabel, så kan du bruge LINQ til at forespørge den. Den anden del er den forespørgsel , der angiver de oplysninger, der skal hentes fra datakilden. En anden fordel i forhold til traditionelle query tilgang er query udførelse af en LINQ forespørgsel. Forespørgslen udførelse bruges til at gentage over forespørgslen variable ved hjælp af en " foreach " erklæring i C #. Denne løkke bruges til at hente resultaterne fra forespørgslen.
Query Operations
Query operationer meget lettere at udføre i LINQ over traditionelle databaseforespørgsler ved at kunne få adgang tabel feltnavne nemt. Filter bruges til at filtrere data og er en af de mest almindelige operationer, der udføres i en LINQ forespørgsel . Det følgende er et eksempel på en LINQ forespørgsel ved hjælp filtrering i C # : Hej
var queryLondonCustomers = fra cust i customerswhere cust.City == "London " vælg Cust ,
datakilder
at kunne forespørge forskellige datakilder er en stor fordel i LINQ . LINQ til SQL bruges til at forespørge relationelle data objekter . Det følgende er et eksempel på, hvordan man forespørge en database vha. LINQ til SQL : Hej
Northwnd db = new Northwnd ( @ "c: \\ northwnd.mdf "); IQueryable custQuery = fra cust i db . Customerswhere cust.City == "London " vælg cust ,
Brug LINQ til XML , hvis du har brug for at forespørge en XML objekt. Følgende C # -koden viser et andet eksempel på, hvor nemt det er at forespørge et XML-dokument : Hej
XDocument srcTree = new XDocument (ny XComment ( "Dette er en kommentar" ) , nye XElement ( " Root " , nye XElement ( " Child1 ", " oplysninger1 ") nye XElement ( " Child2 ", " data2 ") nye XElement ( " Child3 ", " oplysninger3 ") nye XElement ( " Child2 " " oplysninger4 ") nye XElement ( " Info5 ", " info5 ") nye XElement ( " Info6 ", " info6 ") nye XElement ( " Info7 ", " info7 ") nye XElement ( " Info8 ", " info8 " ))) ;
XDocument doc = new XDocument (ny XComment ( "Dette er en kommentar" ) , nye XElement ( " Root " , fra el i srcTree . Element ( " Root " ) elementer ( ), hvor ( (string ) el ) startswith ( " data " ) select el )), . . Console.WriteLine ( doc ),
< br >