LINQ tunnetaan nimellä Language Integrated Query, ja se esitetään .NET 3.5:ssä ja Visual Studio 2008:ssa. LINQ:n huippuosaamisena on, että se antaa .NET-kielille (kuten C#, VB.NET ja niin edelleen) valmiudet luoda kyselyitä palauttaa tiedot tietolähteestä. Ohjelma voi esimerkiksi saada tietoja alitutkimuksen tietueista tai päästä työntekijätietueisiin ja niin edelleen. Aikaisempina vuosina tällaiset tiedot on sijoitettu eri tietojoukkoihin sovelluksesta, ja haluat todella oppia erilaisia kysymyskieliä päästäksesi käsiksi sellaisiin tietoihin, kuten SQL, XML jne. Ja lisäksi et voi esittää kysymystä käyttämällä C#-kieltä tai muuta .NET-kieltä.
merkkijono char javassa
Tällaisten ongelmien ratkaisemiseksi Microsoft loi LINQ:n. Se yhdistää yhden lisäkapasiteetin C#- tai .NET-murteisiin luodakseen kysymyksen mille tahansa LINQ-tietolähteelle. Lisäksi mikä parasta, lauserakenne, jota käytetään kysymyksen tekemiseen, on samanlainen riippumatta siitä, minkälaista tietolähdettä käytetään, mikä tarkoittaa, että sosiaalisen tietojoukon tiedoista kyselyn kielioppi on sama kuin kysymystietojen tekemisessä. klusterissa on pakottava syy käyttää SQL:ää tai jotain muuta ei-.NET-kielikomponenttia. Voit myös käyttää LINQ:ta SQL:n, XML-tietueiden, ADO.NET:n, web-hallintojen ja jonkin muun tietokannan kanssa.
C#:ssa LINQ on saatavilla Systemissä. Linq-nimiavaruus. Se tarjoaa erilaisia luokkia ja tekniikoita, jotka tukevat LINQ-kysymyksiä. Tässä nimiavaruudessa:
- Enumerable-luokalla on standardi kyselyoperaattori, joka toimii objektilla, joka suorittaa IEnumerable.
- Kyselyluokka sisältää vakiokyselyn ylläpitäjät, jotka työskentelevät objektin parissa, joka suorittaa IQueryablen.
Esimerkiksi : SQL on strukturoitu kyselykieli, jota käytetään tietojen tallentamiseen ja palauttamiseen tietokannasta. Samoin LINQ on järjestetty kyselylauserakenne. LINQ on perus C#. Sitä käytetään tietojen palauttamiseen erilaisista lähteistä, esimerkiksi XML:stä, asiakirjoista, kokoelmista, ADO.Net DataSetistä, Web Servicestä, MS SQL Serveristä ja erilaisista tietokantapalvelimista.
LINQ:n käyttötarkoitukset
- Ensisijainen syy LINQ:n tekemiseen on, että ennen C# 3.0:a käytimme silmukkaa, jokaista silmukkaa tai delegaatteja, jotka kulkivat kokoelman läpi tietyn objektin jäljittämiseksi, mutta näiden strategioiden käyttäminen objektin löytämiseen haittaa kuitenkin sitä, että haluat luoda valtava määrä koodia löytääksesi esineen, joka on lisäksi tylsää ja tehdä ohjelmastasi vähemmän selkeä. Joten näiden ongelmien ratkaisemiseksi esitellään LINQ, joka toistaa samanlaisen toiminnan muutamalla rivillä ja tekee koodistasi selkeän; Lisäksi voit käyttää samanlaista koodia eri projekteihin.
- Se antaa lisäksi täyden lajittelutarkistuksen käännöshetkellä. Se auttaa meitä erottamaan virheen ajon aikana, joten voimme epäilemättä poistaa ne.
- LINQ on yksinkertainen, hyvin järjestetty ja merkittävän tason kieli kuin SQL
- Voit myös käyttää LINQ:ta C#-taulukon ja kokoelmien kanssa. Se tarjoaa sinulle toisen opastuksen vanhojen asioiden hoitamiseen tehokkaalla tavalla.
- LINQ:n avulla voit epäilemättä työskennellä tietolähteiden, kuten XML, SQL, entiteetit, objektit ja niin edelleen, kanssa. Yksi kysely voi toimia tietokannan kanssa, pakottava syy tarve oppia erilaisia kieliä.
- LINQ ylläpitää kyselylauseketta, nimettömiä tyyppejä, implisiittisesti kirjoitettuja muuttujia, lambda-lausekkeita, objektien ja kokoelman alustajia ja laajennusmenetelmiä.
Voimme käyttää LINQ-kyselyitä kahdella tavalla
LINQ-kyselyn syntaksirakenne koostuu kyselyn avainsanoista, jotka on luonnehdittu .NET System -versioon 3.5 tai uudempaan. Tämän ansiosta ohjelmistosuunnittelija tai -kehittäjät voivat laatia ohjeet SQL-suunnittelun tapaan koodissa (C# tai VB.NET) ilman hintoja. Se tunnetaan samalla tavalla sen tosiasian valossa, että Kysymys Artikulaatio Kielioppi. LINQ:ssa voit laatia kyselyn IEnumerable-sarjaan tai IQueryable-tietolähteisiin käyttämällä seuraavia strategioita:
1. Kyselyn syntaksi:
LINQ-kyselykielen syntaksi alkaa avainsanalla ja päättyy Select- tai GroupBy-avainsanaan. Avainsanan jälkeen voit käyttää erilaisia vakiokyselytoimintoja, kuten ryhmittelyä, suodatusta ja niin edelleen tarpeen mukaan. LINQ:ssa on käytettävissä 50 ainutlaatuista vakiokysymysjärjestelmänvalvojaa.
Vaiheet kyselyn syntaksin kirjoittamiseen:
Vaihe 1: Ensimmäisessä vaiheessa meidän on lisättävä koodiin System.Linq-nimiavaruus.
i.e., using System.Linq;
Vaihe 2: Toisessa vaiheessa meidän on luotava tietolähde, jolla meidän on suoritettava toiminnot
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
Vaihe 3: Kolmannessa vaiheessa meidän on luotava tietolähteen kysely käyttämällä avainsanaa, kuten select, from jne.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Tässä r on kyselymuuttuja, joka tallentaa kyselyn artikuloinnin tuloksen. Form lauseketta käytetään määrittämään tietolähde, eli lista, jossa ehto koskee kanavaa, eli l.Contains('Hii') ja select-lause antaa takaisin tuodut asiat. Lisäksi l on kattavuusmuuttuja.
Vaihe 4: Viimeinen vaihe on suorittaa kysely käyttämällä jokaista silmukkaa.
EX: foreach(var i in r) { Console.WriteLine(i); }
Esimerkkiohjelma kyselyn syntaksissa:
relaatioalgebra rdbms:ssä
// program to create LINQ query using Query Syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; // step-3: Creating the LINQ query for the data source using a keyword like select, from, etc. var r = from l in list where l.Contains(' JavaTpoint') select l; // In this will print only the sentence which contains JavaTpoint word // step-4: Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } }
Lähtö:
2. Menetelmän syntaksi
LINQ:ssa Method Syntax -syntaksia käytetään kutsumaan laajennusmenetelmää Enumerable- tai Queryable-staattisille luokille. Sitä kutsutaan myös nimellä Method Extension Syntax tai Fluent. Siitä huolimatta kääntäjä muuttaa yleensä kyselyn syntaksia menetelmän syntaksirakenteessa käännöshetkellä. Se voi kutsua vakiokyselyoperaattorin, kuten Missä, Join, Max, Min, Avg, GroupBy Select ja niin edelleen. Voit kutsua niitä suoraan käyttämättä kyselysyntaksia.
Vaihe 1: Ensimmäisessä vaiheessa meidän on lisättävä koodiin System.Linq-nimiavaruus.
i.e., using System.Linq;
Vaihe 2: Toisessa vaiheessa meidän on luotava tietolähde, jolla meidän on suoritettava toiminnot
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
Vaihe 3: Luo nyt kysely käyttämällä Enumerable- tai Queryable-staattisten luokkien tarjoamia menetelmiä
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Tässä r on kyselymuuttuja, joka tallentaa kyselyn artikuloinnin tuloksen. Form lauseketta käytetään määrittämään tietolähde, eli lista, jossa ehto koskee kanavaa, eli l.Contains('Hii') ja select-lause antaa takaisin tuodut asiat. Lisäksi l on kattavuusmuuttuja.
Vaihe 4: Viimeinen vaihe on suorittaa kysely käyttämällä jokaista silmukkaa.
EX: foreach(var i in r) { Console.WriteLine(i); }
Esimerkkiohjelma Method-syntaksista:
// program to create LINQ query using Method syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; //step-3 creating the query using the methods provided by the Enumerable or Queryable static classes var r = list.Where(a=> a.Contains(' JavaTpoint ')); // In this will print only the sentence which contains JavaTpoint word // Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } }
Lähtö:
LINQ:n edut
- Asiakkaan ei tarvitse opetella uusia kyselykieliä vaihtoehtoista tietomuotoa tai tietolähdettä varten.
- Se lisää koodin selkeyttä.
- Kyselyä voidaan käyttää uudelleen.
- Se antaa kohteen tyyppitarkistuksen kokoonpanon yhteydessä.
- Se antaa IntelliSensen perinteisille kokoelmille.
- Sitä käytetään yleensä kokoelmien tai taulukoiden kanssa.
- LINQ tukee järjestämistä, ryhmittelyä, suodatusta ja lajittelua.
- Se tekee virheenkorjauksesta helppoa, koska se on koordinoitu C#-kielen kanssa.
- Se antaa suoraviivaisen muutoksen, joka viittaa siihen, että voit epäilemättä muuttaa useamman kuin yhden tietotyypin toiseksi tietotyypiksi, kuten SQL-tietojen muuttaminen XML-tietoiksi.