Introduksjon til språkintegrert spørring

LINQ er forkortet som Language Integrated Query. Det er etablert i .NET 3.5 og Visual Studio 2008, hovedkonseptet med LINQ er å tilby anlegget til .NET-språk (som C #, VB.NET, etc.) for å lage spørsmål for å hente tilbake data fra datakilden. For å hente dataene fra forskjellige formater og kilder i C # og VB.NET sin ensartede spørresyntax. Det eliminerer variansen mellom databaser og programmeringsspråk fordi den integreres med C # / VB og også ga det distinkte spørringsgrensesnittet for forskjellige typer datakilder. Det gjør det mulig å bruke en objektorientert tilnærming på resultatsettet; de resulterende spørsmålene returnerer resultatene som objekter.

Forskjellen mellom SQL og LINQ er at der (Language Integrated Query) er strukturert spørringssyntaks som innebygd VB.NET og C # for å hente dataene fra forskjellige typer datakilder som inkluderer MS SQL Server, ADO.Net DataSet, webtjeneste, Samlinger, XML-dokumenter og andre databaser. På samme måte er SQL et strukturert spørrespråk som brukes til å lagre og hente dataene fra en database.

Definisjon

Language Integrated Query foreslår en kompakt betydelig og forståelig syntaks for driftsdata. Language Integrated Query er en Microsoft-programmeringstaktikk og -modell som effektivt inkluderer formelle spørringsevner i Microsoft .NET-programmeringsspråk. Det har et behov for tilstedeværelse av spesielle språkutvidelser. Den faktiske verdien av Language Integrated Query kommer fra dens evne til å bruke den samme spørringen på en DataSet, SQL-database, en rekke objekter i minnet og også forskjellige typer data.

forståelse

Det består av trelagsarkitektur der det øvre sjiktet har språkutvidelsene og det nederste laget har datakilder som generelt er objekter som implementerer IEnumerable eller IQueryable generiske grensesnitt. LINQ-arkitekturen er vist nedenfor.

I C # presenterer LINQ i navnerommet System. Linq. Den definerer ulike typer metoder og klasser støtter LINQ-spørsmålene. I navnefeltet består den av

  • En tallbar klasse inneholder standard spørringsoperatører som fungerer på objektet kjører IEnumerable.
  • Forespørselsklasse inneholder standard spørringsoperatører som fungerer på objekt utfører IQueryable.

Kjernenhetene i den er:

  • Bruker System. Linq: Begynn med Classes & Interface for å opprettholde LINQ Queries
  • Bruke System.Collections.Generic: (LINQ to Objects) La brukeren bygge sterkt typede samlinger som gjør tilgjengelig sikkerhet og ytelse tilgjengelig
  • Bruke System.Data.Linq: (LINQ til SQL) Tilby med funksjonalitet til høyre for å bruke relasjonsdatabaser
  • Bruke System.XML.Linq: (LINQ til XML) Presenterer funksjonaliteten for rett til å bruke XML-dokumenter ved å bruke LINQ.
  • Bruke System.Data.Linq.Mapping: Tildelt en klasse som en enhet tilknyttet en database.

Hvordan gjør LINQ det å jobbe så enkelt?

Det er så enkelt å jobbe med LINQ fordi det språklige integrerte spørringen gir en språkintegrert og objektbasert tilnærming til spørringen. Ved å bruke språkintegrert spørring kan vi spørre om XML, database og også samlinger. Den vil sjekke syntaks under kompileringstiden. I språkintegrerte spørringer er det raskere å skrive koder på grunn av at utviklingstiden også reduseres automatisk. For å forstå hvorfor vi skal bruke språkintegrert spørring, la oss se noen eksempler. Anta at du vil finne listen over unge studenter fra en rekke studentobjekter.
Tidligere enn C # 2.0 måtte vi bruke en 'for hver' eller en 'for' sløyfe for å gå over samlingen for å oppdage et eksakt objekt. For eksempel å skrive koden for å vise alle studentobjekter fra en rekke studenter der SAge er mellom 12 og 20.

Eksempel på program for bruk for sløyfe

class StudentDetails
(
public int SID ( get; set; )
public String SName ( get; set; )
public int SAge ( get; set; )
)
class Program
(
static void Main(string() args)
(
StudentDetails () sArray = (
new StudentDetails () ( SID = 1, SName = "Rio", SAge = 18 ),
new StudentDetails () ( SID = 2, SName = "Rock", SAge = 21 ),
new StudentDetails () ( SID = 3, SName = "Smith", SAge = 25 ),
new StudentDetails () ( SID = 4, SName = "Jack", SAge = 20 ),
new StudentDetails () ( SID = 5, SName = "Remo", SAge = 31 ),
new StudentDetails () ( SID = 6, SName = "Andre", SAge = 17 ),
new StudentDetails () ( SID = 7, SName = "Don", SAge = 19 ),
);
StudentDetails () students = new StudentDetails (10);
int i = 0;
foreach (StudentDetails std in sArray)
(
if (std.SAge > 12 && std.SAge < 20)
(
students(i) = std;
i++;
)
)
)
)

Bruken av for loop er tyngende, ikke håndterbar hele tiden når du finner flere antall resultater og heller ikke er lesbar. Så teamet går med den neste versjonen i C # 3.0 den ble introdusert, ved å bruke denne tilnærmingen kan løse slike typer problemer fordi språkintegrert spørring er byggesteinen til spørreelementer for flere slags samlinger, og også det får resultatene med en enkelt uttalelse .
La oss se eksemplet nedenfor forklarer at lambda-uttrykket LINQ-spørring er med på å finne ut en spesifikk student fra samlingen av lister.

Eksempel på program

class ProgramLINQ
(
static void Main(string() args)
(
StudentDetails () sArray = (
new StudentDetails () ( SID = 1, SName = "Rio", SAge = 18 ),
new StudentDetails () ( SID = 2, SName = "Rock", SAge = 21 ),
new StudentDetails () ( SID = 3, SName = "Smith", SAge = 25 ),
new StudentDetails () ( SID = 4, SName = "Jack", SAge = 20 ),
new StudentDetails () ( SID = 5, SName = "Remo", SAge = 31 ),
new StudentDetails () ( SID = 6, SName = "Andre", SAge = 17 ),
new StudentDetails () ( SID = 7, SName = "Don", SAge = 19 ),
);
// to find young students in the list
StudentDetails () tStudents = sArray.Where(s => s. SAge > 12 && s. SAge < 20).ToArray();
// to find first student whose name is Smith
StudentDetails f_Sname = sArray.Where(s => s. SName == "Smith ").FirstOrDefault();
// to find student whose StudentID is 5
StudentDetails f_SID = sArray.Where(s => s. SID == 5).FirstOrDefault();
)
)

Dermed gjør Language Integrated Query kode i tillegg komprimert og forståelig, og den kan også brukes til å spørre om flere datakilder.

Hva er bruken av LINQ

  • Velkjent språk
  • Mindre koding
  • Lesbar kode
  • den identiske teknikken for spørring av tallrike datakilder
  • Samle tidsbeskyttelse av spørsmål
  • Intelli-Sense vedlikehold
  • Bestemme data

Jobber med LINQ

Datakilder som er integrert i språkintegrerte spørringer. typer LINQ nevnes nedenfor i korte trekk.

  • LINQ til objekter
  • LINQ til XML (XLINQ)
  • LINQ til datasett
  • LINQ til SQL (DLINQ)
  • Linq til enheter

1. LINQ til objekt

LINQ til objekter presenterer håndtering av alle LINQ-spørringer som støtter IEnumerable for tilgang til datasamlinger og objekter i minnet. Return Variabel i Linq til objekter vil være av typen IEnumerable.

2. LINQ til XML (XLinq)

LINQ til XML er tilgjengelig i navnefeltet kalt System.Xml.Linq. for å spørre om XML-datakilder, bruker vi LINQ til XML. Linq til XML gjør dessuten den beste bruken av .NET-rammefunksjoner som Compile-Time Checking, Debugging, Strong Typeing og så videre. når du laster inn XML-dokumenter i minnet er enkelt og enklere når det gjelder dokumentmodifisering og spørring.

3. LINQ til datasett

LINQ til datasett som opprettholder spørringer ved å bruke ADO.NET datatabeller og datasett. Når data blir konsolidert fra flere datakilder, bruker vi LINQ til Datasett for spørring.

4. LINQ til SQL

LINQ til SQL kalles også DLINQ og er en del av språkintegrert spørring; ved bruk av LINQ-uttrykk, tillater det spørring av data i SQL Server-databasen.

5. LINQ til enheter

I LINQ til enheter ved å bruke C # Det er en enkel og enkel måte å spørre enhetene på. en spørring er et uttrykk som brukes til å hente dataene fra datalageret. ved å bruke denne DBContext i EF 6 eller DBContext i EF Core-enhetens rammeverk som spør etter databasen.

Fordeler

Språkintegrert spørring gir en rekke fordeler; Noen av fordelene er gitt nedenfor.

  • Det hjelper med å finne ut feil i designtiden på grunn av syntaksbelysning.
  • Det hjelper med å skrive spørring mer nøyaktig.
  • I språkintegrert spørring vil utviklingstiden reduseres fordi skriving av kode er mye raskere og enklere i språkintegrert spørring.
  • Det er integrert med C # språk på grunn av at det gjør det enkelt å feilsøke.
  • Det har sine hierarkiske funksjoner på grunn av at visningen av forholdet mellom to tabeller er enklere og det tar mindre tid å opprette spørsmål ved bruk av flere sammenføyninger.
  • Language Integrated Query støtter enklere transformasjon for konvertering fra en datatype til en annen datatype, som transformasjonen fra SQL til XML-data.
  • Ved å bruke LINQ kan utviklere enkelt vedlikeholdes og forståelig på grunn av koden mer lesbar.
  • I LINQ vil det være en enhetlig syntaks for spørring av flere datakilder.
  • Under kompileringstiden gir LINQ typekontroll av objekter.
  • Det støtter utforming av data, vi kan hente data i forskjellige former.

Hvorfor skal vi bruke LINQ?

La oss se hvorfor Language Integrated Query er utviklet eller hvorfor vi bruker LINQ, det er flere punkter for å definere hvorfor vi bruker Language Integrated Query.

  • Når du sammenligner med SQL, er LINQ enkelt å jobbe, et språk på høyt nivå og godt orientert.
  • Hovedprinsippet bak å bygge LINQ er, tidligere til C # 3.0 for å finne et bestemt objekt vi brukte for hver, for loop, delegater ved å bruke disse alt det var en stor ulempe fordi for å finne ut et objekt må vi kode flere linjer med koding som skaper program som er mindre leselig og også mer tidkrevende. For å overvinne disse problemene ble LINQ introdusert, fordi språkintegrert spørring vil gjøre programmene / kodingen på et veldig mindre antall linjer, og også koden blir mer lesbar, og når koden er standardisert kan vi bruke den samme koden i flere andre programmer.
  • I løpet av kjøretiden hjelper det å finne feilene slik at vi enkelt kan fjerne eller rette opp feilene, og det gir også kontroll av kompileringstid.
  • På en effektiv måte gir LINQ oss en ny retning for å løse slike problemer; og også kan vi bruke språkintegrert spørring med samlinger og C # array.
  • Den opprettholder i et spørringsuttrykk, utvidelsesmetoder, implisitte typevariabler, lambda-uttrykk, objekter og samlinger.
  • I språkintegrert spørring er det ikke nødvendig å lære forskjellige typer språk fordi en distinkt spørring kan fungere med noen form for database. Og den støtter alle slags datakilder som objekter, XML, enheter, SQL og så videre.

Språkintegrert spørringsområde

Det er laget for å laste gapet mellom konvensjonell .NET, som presenterer en objektorientert tilnærming og sterk typemetode. Language Integrated Query introduserte en lettlæringsmodell for å endre og spørre data, og den støtter også datakilder som inkluderer XML, datastrukturer i minnet og relasjonsdata. Språkintegrert spørring integrert med en objektorientert og relasjonell tilnærming. Det er et sterkt typisk uttrykk. Sterkt typiske uttrykk sørger for at verdien av riktig type på kompileringstiden og under kjøretid forhindrer at feilene blir funnet hønekodet.

Hvorfor trenger vi LINQ?

Tidligere til LINQ, er det nødvendig å lære SQL, C # og flere API-er som binder seg sammen for å utvikle en hel applikasjon. Så at programmeringsspråket og datakildene står overfor noen problemer og koding gjør det også vanskelig. La oss se et eksempel på flere teknikker som ble brukt av programmerere ved spørring av data før ankomst av språkintegrert spørring.

Eksempel på program

SqlConnection conn= new SqlConnection(connString);
SqlConnection.Open();
System.Data.SqlClient.SqlCommand cmd=ne SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Select * from Employee";
return cmd.ExecuteReader (CommandBehavior.CloseConnection) ;
By using LINQ the above same query can be return in simple easy and readable form whereas the consuming time also very less.
Northwind db_ = new Northwind(@"C:\Data\Northwind.mdf");
var query_result = from e in db.Employee select e;

Hvordan denne teknologien vil hjelpe deg i karriereveksten?

Det er en søkemotor som hjelper til med å effektivisere datastrømmen. Det vil hjelpe i karrierevekst på en godt orientert måte. Den støtter hele teamet som er enkelt å jobbe med og reduserer omarbeidingen og holder også prosjektet med på planlagt tid og innenfor det estimerte budsjettet.

Konklusjon

Du har lest godt hvordan LINQ varierer fra og bli bedre på ADO.NET. I tillegg hjelper Its med å spare tid. Til syvende og sist har du visst om hvordan språkintegrerte spørsmål kan brukes til flere typer datakilder. I denne artikkelen lærte vi om arbeidsprosessen med språkintegrert spørring og hvordan du bruker den. Jeg håper denne artikkelen ville hjulpet deg.

Anbefalte artikler

Dette er en guide til Hva er LINQ ?. Her diskuterer vi definisjonen, fordelene og bruken sammen med eksempelprogrammet og omfanget. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. MongoDB GUI-verktøy
  2. Hva er Dropbox?
  3. Hva er Laravel?
  4. Hva er StringBuilder i C #