Uvod v jezikovno integrirano poizvedbo

LINQ je skrajšano kot jezikovno integrirana poizvedba. Ustanovljen je v .NET 3.5 in Visual Studio 2008, glavni koncept LINQ je, da objekt omogoči jezikom .NET (kot so C #, VB.NET itd.) Za gradnjo poizvedb za povrnitev podatkov iz vira podatkov. Za pridobivanje podatkov iz različnih formatov in virov v C # in VB.NET je njegova enotna poizvedba skladnja. Odpravlja nihanje med bazami podatkov in programskimi jeziki, ker je integriran s C # / VB in tudi pod pogojem, da je različen poizvedovalni vmesnik za različne vrste virov podatkov. Omogoča uporabo objektno usmerjenega pristopa na nizu rezultatov; nastala poizvedba vrne rezultate kot predmete.

Razlika med SQL in LINQ je v tem, da je (Language Integrated Query) strukturirana sintaksa poizvedb, ki ima vgrajen VB.NET in C # za pridobivanje podatkov iz različnih vrst podatkovnih virov, ki vključuje MS SQL Server, ADO.Net DataSet, spletno storitev, Zbirke, dokumenti XML in druge podatkovne baze. Na enak način je SQL strukturiran poizvedbeni jezik, ki se uporablja za shranjevanje in pridobivanje podatkov iz baze podatkov.

Opredelitev

Vgrajena poizvedba jezika ponuja kompaktno pomembno in razumljivo skladnjo za operativne podatke. Vgrajena poizvedba v jezik je Microsoftova programska taktika in model, ki dejansko vključuje formalne sposobnosti poizvedbe v Microsoftove .NET programske jezike. Potrebna je prisotnost določenih jezikovnih razširitev. Dejanska vrednost jezikovne integrirane poizvedbe izvira iz njegove sposobnosti, da isto poizvedbo uporabi v DataSet, SQL Database, matriki predmetov v pomnilniku in tudi različnih vrstah podatkov.

Razumevanje

Sestavljen je iz troslojne arhitekture, v kateri ima zgornja plast jezikovne razširitve, spodnja plast pa podatkovne vire, ki so na splošno predmeti, ki izvajajo IEnumerable ali IQueryable generične vmesnike. Spodaj je prikazana arhitektura LINQ.

V C # je LINQ predstavljen v sistemu imen. Linq Določa različne vrste metod in razredi podpirajo poizvedbe LINQ. V imenem prostoru je sestavljen iz

  • Številčen razred vsebuje standardne operaterje poizvedb, ki delujejo na objektu, izvajajo IEnumerable.
  • Razred, ki ga je mogoče podpirati, vsebuje standardne operaterje poizvedb, ki funkcije na objektu izvajajo IQueryable.

Osrednji sklopi v njem so:

  • Uporaba sistema. Linq: Podarite z razredi in vmesnikom za vzdrževanje poizvedb LINQ
  • Uporaba System.Collections.Generic: (LINQ za objekte) Dovoli uporabniku, da ustvari močne vrste, ki omogočajo varnost in zmogljivost tipa
  • Uporaba System.Data.Linq: (LINQ do SQL) Ponudite s funkcionalnostjo do uporabe relacijskih baz podatkov
  • Uporaba System.XML.Linq: (LINQ do XML) Predstavlja funkcionalnost za pravico uporabe dokumentov XML z uporabo LINQ.
  • Uporaba System.Data.Linq.Mapping: dodelitev razreda kot entiteta, povezane z bazo podatkov.

Kako deluje LINQ tako enostavno?

Delo z LINQ je tako enostavno, saj jezikovna integrirana poizvedba omogoča jezikovno integriran in objektno zasnovan pristop k poizvedbi. Z uporabo jezikovno integrirane poizvedbe lahko poizvedujemo po XML, zbirki podatkov in tudi zbirkah. V času prevajanja bo preveril skladnjo. V jezikovno integrirano poizvedbo so kode pisanja hitrejše, saj se čas razvoja samodejno zmanjša. Da bi ugotovili, zakaj bi morali uporabiti jezikovno integrirano poizvedbo, poglejmo nekaj primerov. Recimo, da želite najti seznam mladih študentov iz matrike predmetov Student.
Pred C # 2.0 smo morali za odkrivanje natančnega predmeta uporabiti zanko 'za vsakega' ali 'za'. Na primer, da napišete kodo, da se prikažejo vsi predmeti Student iz matrike Študenti, kjer je SAge med 12 in 20.

Vzorčni program za uporabo zanke

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++;
)
)
)
)

Uporaba zanke je obremenjujoča, ves čas ni obvladljiva pri iskanju več številnih rezultatov in tudi ne bere. Tako gre ekipa z naslednjo različico v C # 3.0, ki je bila predstavljena, s tem pristopom pa lahko rešujemo takšne vrste vprašanj, saj je jezikovno integrirana poizvedba sestavni del poizvedbenih elementov za več vrst zbirke in tudi rezultate dobi z eno samo izjavo .
Oglejmo si spodnji primer, ki pojasnjuje, da poizvedba LINQ izraza lambda z iskanjem določenega študenta iz zbirke seznamov.

Vzorčni 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();
)
)

Tako jezikovna integrirana poizvedba naredi kodo dodatno stisnjeno in razumljivo in jo lahko uporabite tudi za poizvedovanje po več virih podatkov.

Kaj je uporaba LINQ-a

  • Dobro znan jezik
  • Manj kodiranja
  • Berljiva koda
  • enaka tehnika poizvedovanja o številnih virih podatkov
  • Sestavi čas zaščite poizvedb
  • Vzdrževanje Intelli-Sense
  • Določitev podatkov

Delo z LINQ

Viri podatkov z omogočenimi jezikovnimi integriranimi poizvedbami. Vrste LINQ so navedene v nadaljevanju na kratko.

  • LINQ do predmetov
  • LINQ do XML (XLINQ)
  • LINQ na nabor podatkov
  • LINQ v SQL (DLINQ)
  • Linq do entitet

1. LINQ do predmeta

LINQ to Objects predstavlja ravnanje s katero koli poizvedbo LINQ, ki podpira IEumerable za dostop do zbirk podatkov in predmetov v pomnilniku. spremenljivka vrnitve v Linq k objektom bo tipa I nešteto.

2. LINQ do XML (XLinq)

LINQ do XML je na voljo v imenem prostoru, imenovanem System.Xml.Linq. za poizvedbo virov podatkov XML, uporabimo LINQ do XML. Poleg tega Linq do XML najbolje izkorišča funkcionalnosti .NET Framework, kot so preverjanje časov, urejevanje napak in močno vnašanje in tako naprej. pri nalaganju dokumentov XML v pomnilnik je preprosto in lažje pri spreminjanju in poizvedovanju dokumentov.

3. LINQ na nabor podatkov

LINQ na DataSet, ki vzdržuje poizvedbe z uporabo podatkovnih tabel ADO.NET in podatkovnih nizov. ko se bodo podatki združili iz več virov, bomo za poizvedovanje uporabili LINQ do nabora podatkov.

4. LINQ v SQL

LINQ v SQL se imenuje tudi DLINQ in je del jezikovne integrirane poizvedbe; z uporabo izrazov LINQ omogoča poizvedovanje po podatkih v zbirki podatkov SQL Server.

5. LINQ entitetam

V LINQ entitetam z uporabo C # To je enostaven in preprost način za poizvedovanje po entitetah. poizvedba je izraz, ki se uporablja za pridobivanje podatkov iz shrambe podatkov. z uporabo tega DBContext v EF 6 ali DBContext v okvirju EF Core entity, ki poizveduje bazo podatkov.

Prednosti

Vgrajena jezikovna poizvedba ponuja množico prednosti; Nekatere prednosti so podane spodaj.

  • Pomaga pri iskanju napak v času oblikovanja zaradi poudarjanja skladenj.
  • Pomaga pri natančnejšem pisanju poizvedbe.
  • V jezikovno integrirano poizvedbo se čas razvoja zmanjša, saj je pisanje kode v jezikovni integrirani poizvedbi veliko hitrejše in enostavnejše.
  • Integriran je z jezikom C #, zato omogoča enostavno odpravljanje napak.
  • Ima svoje hierarhične lastnosti, ker je ogled razmerja med dvema tabelama enostavnejši in potrebuje manj časa za ustvarjanje poizvedb z več pridružitvami.
  • Vgrajena poizvedba jezika podpira lažjo preobrazbo za pretvorbo iz ene vrste podatkov v drugo vrsto podatkov, kot je preoblikovanje iz podatkov SQL v XML.
  • Z uporabo LINQ je razvijalce enostavno berljivo in razumljivo, saj je njihova koda bolj berljiva.
  • V LINQ bo enotna skladnja za poizvedovanje po več virih podatkov.
  • Med časom prevajanja LINQ zagotavlja preverjanje vrst predmetov.
  • Podpira oblikovanje podatkov, podatke lahko prikličemo v različnih oblikah.

Zakaj bi morali uporabljati LINQ?

Poglejmo, zakaj je razvita jezikovna integrirana poizvedba ali zakaj uporabljamo LINQ. Obstaja več točk, ki opredeljujejo, zakaj uporabljamo jezikovno integrirano poizvedbo.

  • V primerjavi s SQL je LINQ enostaven za delo, jezik na visoki ravni in dobro usmerjen.
  • Glavno načelo gradnje LINQ je v prej C # 3.0 za iskanje določenega predmeta, ki smo ga uporabljali za vsakega, za zanke, delegate z uporabo vseh teh, je bila velika pomanjkljivost, ker da bi ugotovili, kakšen predmet moramo kodirati več vrstic kodiranje, ki ustvari program manj berljiv in tudi bolj zamuden. Za premagovanje teh težav smo uvedli LINQ, ker bodo jezikovno integrirane poizvedbe programi / kodiranje naredili v zelo manj številu vrstic, poleg tega pa bo koda postala bolj berljiva in ko je koda standardizirana, lahko isto kodo uporabimo v več drugih programih.
  • Med izvajanjem pomaga najti napake, tako da lahko napake enostavno odstranimo ali popravimo, poleg tega pa omogoča preverjanje časa prevajanja.
  • Na učinkovit način nam LINQ daje novo smer za reševanje takšnih vprašanj; prav tako pa lahko uporabimo jezikovno integrirano poizvedbo z zbirkami in nizom C #.
  • Vzdržuje se v poizvedbenem izrazu, metodah razširitve, implicitnih spremenljivkah tipa, lambda izrazih, objektih in zbirkah.
  • V jezikovni integrirani poizvedbi ni treba učiti različnih vrst jezikov, ker lahko različna poizvedba deluje s katero koli bazo podatkov. Poleg tega podpira kakršne koli vire podatkov, kot so predmeti, XML, entitete, SQL in tako naprej.

Obseg poizvedb o integriranem jeziku

Ustvarjen je za nalaganje vrzeli med običajnim .NET, ki predstavlja objektno usmerjen pristop in močan pristop tipkanja. Vgrajena jezikovna poizvedba je predstavila model za enostavno učenje za spreminjanje in poizvedovanje podatkov, podpira pa tudi vire podatkov, ki vključujejo XML, podatkovne strukture v pomnilniku in relacijske podatke. Jezikovna poizvedba integrirana s objektno usmerjenim in relacijskim pristopom. Je izraz močno tipkanega izraza. Močno vtipkani izrazi poskrbijo, da vrednost pravega tipa v času prevajanja in med izvajanjem prepreči, da bi bile napake najdene kot kodirane.

Zakaj potrebujemo LINQ?

V LINQ-u je bilo prej treba spoznati SQL, C # in več API-jev, ki se vežejo skupaj, da razvijejo celotno aplikacijo. Tako da se tisti programski jezik in viri podatkov srečujejo z nekaterimi težavami, prav tako pa je težko kodirati. Poglejmo primer več tehnik, ki so jih programerji uporabili pri poizvedovanju podatkov pred prihodom jezikovne integrirane poizvedbe.

Vzorčni 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;

Kako vam bo ta tehnologija pomagala pri karierni rasti?

To je iskalnik, ki pomaga pri racionalizaciji podatkovnih tokov. Pomagal bo karierni rasti na dobro usmerjen način. Podpira celotno ekipo, ki je enostavna za delo in zmanjšuje predelavo, projekt pa tudi vodi v predvidenem času in v predvidenem proračunu.

Zaključek

Dobro ste prebrali, kako se LINQ razlikuje od ADO.NET-a in postanete boljši. Poleg tega pomaga pri prihranku časa. Konec koncev ste vedeli, kako se lahko jezikovno integrirane poizvedbe uporabljajo za več vrst virov podatkov. V tem članku smo spoznali delovni proces jezikovno integrirane poizvedbe in kako jo uporabljati. Upam, da bi vam ta članek pomagal.

Priporočeni članki

To je vodnik za Kaj je LINQ ?. Tukaj razpravljamo o definiciji, prednostih in uporabi, skupaj z vzorčnim programom in področjem uporabe. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Orodja za MongoDB GUI
  2. Kaj je Dropbox?
  3. Kaj je zdravilo Laravel?
  4. Kaj je StringBuilder v C #