Keele integreeritud päringu sissejuhatus

LINQ on lühendatud kui keele integreeritud päring. See on asutatud .NET 3.5 ja Visual Studio 2008, põhiliseks kontseptsiooniks on LINQ pakkuda võimalust NET-keeltele (näiteks C #, VB.NET jne), et luua päringuid andmeallikast andmete tagasi saamiseks. Andmete saamiseks eri vormingutest ja allikatest C # ja VB.NET-is selle ühtne päringu süntaks. See välistab erinevused andmebaaside ja programmeerimiskeelte vahel, kuna on integreeritud C # / VB-ga ja eeldusel, et see on ka eri tüüpi andmeallikate jaoks eristatav päringuliides. See võimaldab tulemuste kogumil kasutada objektorienteeritud lähenemist; saadud päringud annavad tulemused objektidena.

SQL-i ja LINQ-i erinevus seisneb selles, et (keele integreeritud päring) on ​​struktureeritud päringu süntaks, mis sisaldab sisseehitatud VB.NET-i ja C # -i, et saada andmeid eri tüüpi andmeallikatest, sealhulgas veebiteenus MS SQL Server, ADO.Net DataSet., Kogud, XML-dokumendid ja muud andmebaasid. Samamoodi on SQL struktureeritud päringute keel, mida kasutatakse andmebaasist andmete salvestamiseks ja hankimiseks.

Definitsioon

Keele integreeritud päring pakub toimimisandmete jaoks kompaktset olulist ja arusaadavat süntaksit. Keele integreeritud päring on Microsofti programmeerimistaktika ja -mudel, mis tõhusalt hõlmab formaalse päringu võimalusi Microsofti .NET programmeerimiskeeltesse. Sellel on vaja teatud keelelaiendeid. Keele integreeritud päringu tegelik väärtus tuleneb selle võimest rakendada sama päringut andmestikule, SQL-andmebaasile, mälus olevate objektide massiivile ja ka erinevat tüüpi andmetele.

Mõistmine

See koosneb kolmekihilisest arhitektuurist, milles ülemisel kihil on keelelaiendid ja alumisel kihil on andmeallikad, mis on üldiselt objektid, mis rakendavad IEnumerable või IQueryable geneerilisi liideseid. LINQ arhitektuur on näidatud allpool.

C #-s esindab LINQ nimeruumi süsteemi. Linq. See määratleb erinevat tüüpi meetodeid ja klassid toetavad LINQ päringuid. Nimeruumis koosneb see

  • Loendatav klass sisaldab tavapäraseid päringuoperaatoreid, mis funktsioneerivad objektil IEnumerable.
  • Päringuklass sisaldab standardseid päringuoperaatoreid, mis funktsioonivad objektil IQueryablet käivitama.

Selles sisalduvad tuumasõlmed on:

  • Süsteemi kasutamine. Linq : Anda klasside ja liidesega LINQ päringute haldamiseks
  • Süsteemi System.Collections.Generic kasutamine: (LINQ to Objects) Laske kasutajal luua tugevalt kirjutatud kogud, mis muudavad tüübi turvalisuse ja jõudluse kättesaadavaks
  • System.Data.Linq kasutamine: (LINQ kuni SQL) Pakkumine koos relatsiooniandmebaaside kasutamise õiguse funktsionaalsusega
  • Süsteemi System.XML.Linq kasutamine: (LINQ kuni XML) Esitleb funktsioone XML-dokumentide kasutamiseks LINQ abil.
  • Süsteemi System.Data.Linq.Mapping kasutamine: klass määrati andmebaasiga ühendatud olemina.

Kuidas teeb LINQ töötamise nii lihtsaks?

LINQ-ga töötamine on nii lihtne, kuna keele integreeritud päring pakub keelele integreeritud ja objektipõhist lähenemist päringutele. Keele integreeritud päringu abil saame teha päringuid XML-i, andmebaaside ja ka kogude kohta. See kontrollib süntaksi kompileerimise ajal. Keele integreeritud päringus on koodide kirjutamine kiirem, kuna ka arendusaeg väheneb automaatselt. Vaatame mõnda näidet, et mõista, miks peaksime kasutama keele integreeritud päringut. Oletame, et soovite leida noorte õpilaste loendi õpilasobjektide hulgast.
Varem kui C # 2.0, pidime täpse objekti avastamiseks kollektsiooni ületamiseks kasutama silmust „iga” või „eest”. Näiteks selleks, et kirjutada kood kõigi õpilasobjektide loetlemiseks õpilasmaatriksist, mille väärtus on vahemikus 12 kuni 20.

Silmuse jaoks kasutamise näidisprogramm

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

Loopi kasutamine on koormav, mitmekordse tulemuse leidmisel kogu aeg hallatav ja ka loetamatu. Nii et meeskond on järgmise versiooniga C # 3.0, mis see tutvustati, selle lähenemisviisi abil saab seda tüüpi probleeme lahendada, kuna keelega integreeritud päring on päringuelementide alustala mitut tüüpi kogumike jaoks ning ka tulemused saadakse ühe avaldusega .
Vaatame allpool toodud näidet, mis selgitab, et lambda avaldise LINQ päring aitab loendite kogumist konkreetse õpilase välja selgitada.

Näidisprogramm

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

Seega muudab keele integreeritud päring koodi lisaks tihendatud ja arusaadavaks ning seda saab kasutada ka mitmest andmeallikast päringute tegemiseks.

Mis on LINQi kasutamine?

  • Tuntud keel
  • Vähem kodeerimist
  • Loetav kood
  • arvukate andmeallikate pärimise identne tehnika
  • Päringute ajaline kaitse
  • Intelli-Sense'i hooldus
  • Andmete määramine

Töö LINQ-iga

Keele integreeritud päringu abil lubatud andmeallikad. allpool on lühidalt mainitud LINQ tüüpe.

  • Objektide LINQ
  • LINQ kuni XML (XLINQ)
  • LINQ andmekogule
  • LINQ - SQL (DLINQ)
  • Linq entiteetide juurde

1. LINQ objektile

Objektide LINQ esitleb kõigi LINQ-päringute käsitlemist, mis toetavad IEnumerable-i mälusisestele andmekogudele ja objektidele juurdepääsu saamiseks. Linqis tagastatav muutuja objektidele on I tüüpi loendamatu.

2. LINQ kuni XML (XLinq)

LINQ to XML on saadaval nimeruumis nimega System.Xml.Linq. XML-i andmeallikatest päringute tegemiseks kasutame XML-i jaoks LINQ-i. Lisaks kasutab Linq XML-i kõige paremini selliseid NET-funktsioonide funktsioone nagu kompileerimise aja kontrollimine, silumine, tugev kirjutamine ja nii edasi. XML-dokumentide mällu laadimine on dokumentide muutmine ja päringute koostamine hõlbus.

3. LINQ andmekogule

LINQ andmekogule, mis hooldab päringuid ADO.NET-i andmetabelite ja andmekogumite abil. Kui andmeid konsolideeritakse mitmest andmeallikast, kasutame päringute tegemiseks LINQ-i andmestikku.

4. LINQ SQL-i

LINQ kuni SQL-i nimetatakse ka DLINQ-ks ja see on osa keele integreeritud päringust; LINQ-avaldiste abil võimaldab see päringuid teha SQL Serveri andmebaasi andmetest.

5. LINQ üksustele

LINQ-is olemitesse, kasutades C # See on lihtne ja lihtne viis üksuste pärimiseks. Päring on avaldis, mida kasutatakse andmete saamiseks andmehoidlast. kasutades seda DBContext failis EF 6 või DBContext EF Core olemi raamistikus, tehakse andmebaasist päringud.

Eelised

Keele integreeritud päring pakub hulgaliselt eeliseid; Mõned eelised on toodud allpool.

  • See aitab süntaksi esiletõstmise tõttu vigu välja selgitada projekteerimise ajal.
  • See aitab päringut täpsemalt kirjutada.
  • Keele integreeritud päringus väheneb arendusaeg, kuna keele integreeritud päringus on koodi kirjutamine palju kiirem ja lihtsam.
  • See on integreeritud C # -keelega, tänu millele on silumist lihtne teha.
  • Sellel on oma hierarhilised omadused, kuna kahe tabeli vahelise seose vaatamine on lihtsam ja mitme liitumisega kasutatavate päringute loomine võtab vähem aega.
  • Keele integreeritud päring toetab lihtsamat teisendamist ühest andmetüübist teise andmetüübi teisendamiseks, näiteks SQL-vormingus XML-i andmete teisendamine.
  • LINQ-i kasutades on arendajad hõlpsasti hooldatavad ja arusaadavad, kuna selle kood on paremini loetav.
  • LINQ-is on mitme andmeallika päringute jaoks ühtne süntaks.
  • Kompileerimise ajal pakub LINQ objektide tüübi kontrollimist.
  • See toetab andmete kujundamist, me võime andmeid saada erineva kujuga.

Miks peaksime kasutama LINQi?

Vaatame, miks töötatakse välja keele integreeritud päring või miks me kasutame LINQ-i. Keele integreeritud päringu kasutamise määratlemiseks on mitu punkti.

  • Võrreldes SQL-iga on LINQ hõlpsasti töötav, kõrgetasemeline keel ja hästi orienteeritud.
  • LINQ ehitamise peamine põhimõte on varasemas versioonis C # 3.0 konkreetse objekti leidmiseks, mida me igaüks kasutasime, silmuse jaoks, delegaatide abil neid kõiki kasutades, oli neil suur puudus, sest objekti leidmiseks peame kodeerima mitu rida kodeerimine, mis loob programmi vähem loetavaks ja ka aeganõudvamaks. Nendest probleemidest ülesaamiseks võeti kasutusele LINQ, kuna keele integreeritud päring teeb programme / kodeeringuid väga vähem ridadena ja kood muudab ka loetavamaks ning kui kood on standardiseeritud, saame sama koodi kasutada ka mitmetes teistes programmides.
  • Käitustöö ajal aitab see vigu leida, et saaksime vead hõlpsalt eemaldada või parandada ja see pakub ka kompileerimise aja kontrollimist.
  • Tõhusalt annab LINQ meile uue suuna selliste probleemide lahendamiseks; samuti saame kasutada keele integreeritud päringut kogude ja C # massiivi korral.
  • See säilitab päringulause, laiendusmeetodeid, kaudseid tüüpi muutujaid, lambda-avaldisi, objekte ja kogusid.
  • Keele integreeritud päringus ei ole vaja õppida erinevat tüüpi keeli, kuna selge päring võib töötada mis tahes andmebaasiga. Ja see toetab ka igasuguseid andmeallikaid nagu objektid, XML, entiteedid, SQL ja nii edasi.

Keele integreeritud päringu ulatus

See on loodud selleks, et täita tühimik tavapärase .NET-i vahel, mis kujutab endast objektorienteeritud lähenemist ja tugevat masinakirjutamismeetodit. Keele integreeritud päring tutvustas andmete muutmiseks ja pärimiseks hõlpsasti õpitavat mudelit ning toetab ka andmeallikaid, mis sisaldavad XML-i, mälusiseseid andmestruktuure ja relatsiooniandmeid. Keele integreeritud päring on integreeritud objektorienteeritud ja relatsioonilise lähenemisega. See on tugevalt kirjutatud väljend. Tugevalt trükitud avaldised veenduge, et kompileerimise ajal oleks õiget tüüpi väärtus välditud ja käituse ajal väldib vigade leidmist vigade abil.

Miks me vajame LINQi?

Varasemas LINQ-is oli vaja õppida SQL-i, C # -d ja mitmeid API-sid, mis seovad kokku kogu rakenduse väljatöötamiseks. Nii et need programmeerimiskeel ja andmeallikad seisavad silmitsi mõne probleemiga ja ka kodeerimine muudab selle keeruliseks. Vaatame näidet mitme meetodi kohta, mida programmeerijad kasutasid andmete küsimisel enne keele integreeritud päringu saabumist.

Näidisprogramm

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;

Kuidas see tehnoloogia aitab teid karjäärikasvus?

See on otsimootor, mis aitab andmete töövooge sujuvamaks muuta. See aitab karjääri kasvule hästi orienteeritud viisil. See toetab kogu meeskonnaga hõlpsat koostööd ja vähendab ümbertegemist ning hoiab projekti ka kavandatud ajal ja eelarvest kinni.

Järeldus

Olete hästi lugenud, kuidas LINQ erineb ja kuidas ADO.NETis paremaks läheb. Lisaks aitab see kokku hoida aega. Lõppkokkuvõttes olete teada saanud, kuidas saab keele integreeritud päringuid kasutada mitut tüüpi andmeallikate jaoks. Selles artiklis saime teada keele integreeritud päringu tööprotsessist ja selle kasutamisest. Loodan, et see artikkel oleks teid sellest aidanud.

Soovitatavad artiklid

See on juhend küsimusele Mis on LINQ ?. Siin käsitleme määratlust, eeliseid ja kasutamist koos näidisprogrammi ja ulatusega. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. MongoDB GUI tööriistad
  2. Mis on Dropbox?
  3. Mis on Laravel?
  4. Mis on C StringBuilder?

Kategooria: