Johdatus integroituun kielikyselyyn

LINQ on lyhenne kielen integroidusta kyselystä. Se on perustettu .NET 3.5: ssä ja Visual Studio 2008: ssa. LINQ: n pääkonsepti on tarjota mahdollisuus .NET-kielille (kuten C #, VB.NET jne.) Rakentaa kyselyitä tietojen palauttamiseksi tietolähteestä. Tietojen hakeminen eri muodoista ja lähteistä C #: ssä ja VB.NET: ssä on sen yhtenäinen kyselysintaksi. Se eliminoi varianssit tietokantojen ja ohjelmointikielten välillä, koska se integroitu C # / VB: hen ja edellyttäen myös, että erillinen kyselyrajapinta erityyppisille tietolähteille. Sen avulla voidaan käyttää kohdekeskeistä lähestymistapaa tulosjoukossa; tuloksena olevat kyselyt palauttavat tulokset kohteina.

Ero SQL: n ja LINQ: n välillä on siinä, että (Language Integrated Query) on jäsennelty kyselysintaksi, joka on sisäänrakennettu VB.NET ja C # tietojen noutamiseksi erityyppisistä tietolähteistä, mukaan lukien MS SQL Server, ADO.Net DataSet, verkkopalvelu., Kokoelmat, XML-dokumentit ja muut tietokannat. Samoin SQL on jäsennelty kyselykieli, jota käytetään tietojen tallentamiseen ja hakemiseen tietokannasta.

Määritelmä

Kieli integroitu kysely ehdottaa pienikokoista merkittävää ja ymmärrettävää syntaksia käyttödatoille. Kieli integroitu kysely on Microsoftin ohjelmointitaktiikka ja -malli, joka sisältää muodollisen kyselykyvyn Microsoft .NET-ohjelmointikieliin. Sillä on tarve tiettyjen kielitunnisteiden olemassaololle. Kieli-integroidun kyselyn todellinen arvo tulee sen kyvystä soveltaa samaa kyselyä DataSet-, SQL-tietokantaan, muistiobjektien joukkoon ja myös erityyppisiin tietoihin.

Ymmärtäminen

Se koostuu kolmikerroksisesta arkkitehtuurista, jossa ylemmässä kerroksessa on kielilaajennukset ja alimmassa kerroksessa on tietolähteet, jotka ovat yleensä kohteita, jotka toteuttavat IEnumerable- tai IQueryable-yleisiä rajapintoja. LINQ-arkkitehtuuri on esitetty alla.

Kohdassa C # LINQ esiintyy nimiavaruusjärjestelmässä. LINQ. Se määrittelee erityyppiset menetelmät ja luokat tukevat LINQ-kyselyjä. Nimiavaruudessa se koostuu

  • Laskettava luokka sisältää vakiokyselyoperaattorit, jotka toimivat objektissa suorittaen IEnumerable-toiminnon.
  • Kyselykelpoinen luokka sisältää vakiokyselyoperaattoreita, jotka toimivat objektissa suorittamalla IQueryable-sovelluksen.

Sen ydinkokoonpanot ovat:

  • Järjestelmän käyttäminen. Linq: Anna luokkien ja käyttöliittymän LINQ-kyselyiden ylläpitämiseksi
  • System.Collections.Generic: -ohjelman käyttö ((LINQ to Objects)) Anna käyttäjän rakentaa vahvan tyyppisiä kokoelmia, jotka tarjoavat tyyppiturvallisuuden ja suorituskyvyn.
  • System.Data.Linq: n käyttö ((LINQ to SQL)) Tarjoa relaatiotietokantojen käyttöoikeuden toiminnot
  • System.XML.Linq: n käyttö: (LINQ - XML) Esittää toiminnot XML-asiakirjojen käyttöoikeudelle LINQ: lla.
  • System.Data.Linq.Mapping: n käyttö: Luokka on määritetty tietokantaan yhdistetyksi kokonaisuudeksi.

Kuinka LINQ tekee työskentelystä niin helppoa?

Työskentely LINQ: n kanssa on niin helppoa, koska kieliin integroitu kysely tarjoaa kielelle integroidun ja oliopohjaisen lähestymistavan kyselyyn. Käyttämällä kielellä integroitua kyselyä, voimme kysyä XML: ää, tietokantaa ja myös kokoelmia. Se tarkistaa syntaksin käännösajan aikana. Kieleksi integroitujen kyselyiden kirjoittaminen on nopeampaa, koska myös kehitysaika lyhenee automaattisesti. Katsotaan joitain esimerkkejä ymmärtääksesi, miksi meidän pitäisi käyttää kieliintegroitua kyselyä. Oletetaan, että haluat löytää nuorten opiskelijoiden luettelon opiskelijaobjektien joukosta.
Aikaisemmin kuin C # 2.0, meidän piti käyttää 'jokaiselle' tai 'puolesta' silmukkaa mennäksesi kokoelman yli löytääksesi tarkan esineen. Esimerkiksi kirjoittamalla koodi luetteloon kaikki Opiskelijaobjektit Opiskelijaryhmästä, jossa SAge on välillä 12 - 20.

Näyteohjelma Loop-sovelluksille

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

Silmukan käyttö silmukkaan on hankala, sitä ei voida hallita koko ajan, kun löydetään useita tuloksia, eikä myöskään luettavissa. Joten joukkue seuraa seuraavaa versiota C # 3.0: ssa, joka se otettiin käyttöön, tämän lähestymistavan avulla voidaan ratkaista tällaisia ​​ongelmia, koska kieliin integroitu kysely on kyselyelementtien rakennuspalikka monentyyppisille kokoelmille ja se myös saa tulokset yhdellä lauseella .
Katsotaanpa alla olevassa esimerkissä, että lambda-lausekkeen LINQ-kysely auttaa löytämään tietyn oppilaan luetteloiden kokoelmasta.

Näyteohjelma

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

Siksi kielellä integroitu kysely tekee koodista lisäksi pakatun ja ymmärrettävän, ja sitä voidaan käyttää myös useiden tietolähteiden kyselyyn.

Mikä on LINQ: n käyttö?

  • Hyvin tunnettu kieli
  • Vähemmän koodausta
  • Luettavissa oleva koodi
  • identtinen tekniikka lukuisten tietolähteiden kyselyyn
  • Käännä kyselyjen aikasuoja
  • Intelli-Sense-ylläpito
  • Tietojen määrittäminen

Yhteistyö LINQ: n kanssa

Kieli integroitu kysely mahdollisti tietolähteet. LINQ-tyypit mainitaan alla lyhyesti.

  • LINQ esineisiin
  • LINQ - XML ​​(XLINQ)
  • LINQ datajoukkoon
  • LINQ - SQL (DLINQ)
  • Linq yhteisöihin

1. LINQ esineeseen

LINQ to Objects esittelee kaikkien LINQ-kyselyjen käsittelyn, jotka tukevat IEnumerable -sovellusta muistin sisäisten tietokokoelmien ja objektien käyttämistä varten. Linq: n palautusmuuttuja esineille on tyyppiä I luettavissa.

2. LINQ - XML ​​(XLinq)

LINQ to XML on saatavilla nimiavaruudessa nimeltä System.Xml.Linq. kysyäksesi XML-tietolähteitä, käytämme LINQ: ta XML: ään. Linq to XML käyttää lisäksi hienoimmin .NET-kehystoimintoja, kuten käännösajan tarkistamista, virheenkorjausta, vahvaa kirjoitusta ja niin edelleen. Kun XML-asiakirjojen lataaminen muistiin on asiakirjojen muokkaamista ja kyselyä helppoa ja helpompaa.

3. LINQ tietoaineistoon

LINQ DataSetiin, joka ylläpitää kyselyjä käyttämällä ADO.NET-datataulukoita ja tietojoukkoja. Kun tiedot yhdistetään useista tietolähteistä, käytämme kyselyihin LINQ-tietokantaa.

4. LINQ SQL: ään

LINQ to SQL: tä kutsutaan myös DLINQ: ksi ja se on osa kielelle integroitua kyselyä; LINQ-lausekkeiden avulla se mahdollistaa tietojen kyselyn SQL Server-tietokannassa.

5. LINQ yhteisöille

LINQ: ssa entiteetteihin käyttämällä C #: tä. Se on helppo ja yksinkertainen tapa kysellä entiteettejä. kysely on lauseke, jota käytetään tietojen hankkimiseen tietovarastoista. Käyttämällä tätä DBContext-tiedostoa EF 6: ssa tai DBContext: ää EF Core -yksikkökehyksessä tietokantaa kysely tehdään.

edut

Kieli integroitu kysely tarjoaa joukon etuja; Jotkut eduista on annettu alla.

  • Se auttaa selvittämään virheitä suunnittelun aikana syntaksin korostamisen vuoksi.
  • Se auttaa kyselyn kirjoittamisessa tarkemmin.
  • Kieli integroidussa kyselyssä kehitysaika lyhenee, koska koodin kirjoittaminen on kielen integroidussa kyselyssä paljon nopeampaa ja helpompaa.
  • Se on integroitu C # -kieleen, mikä tekee siitä helpon virheenkorjauksen.
  • Sillä on hierarkkiset piirteensä johtuen siitä, että kahden taulukon välisen suhteen tarkasteleminen on helpompaa, ja se vie vähemmän aikaa kyselyiden luomiseen käyttämällä useita liitoksia.
  • Kieli integroitu kysely tukee helpompaa muuntamista muuntamiseksi yhdestä tietotyypistä toiseen tietotyyppiin, kuten SQL-tiedostomuutos XML-tiedostoksi.
  • LINQ: n avulla kehittäjät voivat helposti ylläpidettäviä ja ymmärrettäviä, koska sen koodi on paremmin luettavissa.
  • LINQ: ssa on yhtenäinen syntaksi useiden tietolähteiden kyselyä varten.
  • Kokoonpanon aikana LINQ tarjoaa kohteiden tyyppitarkistuksen.
  • Se tukee tiedon muotoilua, voimme hakea dataa eri muodoissa.

Miksi meidän pitäisi käyttää LINQ: ta?

Katsotaanpa, miksi kielelle integroitu kysely kehitetään tai miksi käytämme LINQ: ta, on olemassa useita kohtia, joiden avulla voidaan määrittää, miksi käytämme kielelle integroitua kyselyä.

  • SIN: ään verrattuna LINQ on helppo työskennellä, korkean tason kieli ja hyvin suuntautunut.
  • LINQ: n rakentamisen pääperiaatteena on aikaisemmin C # 3.0: n käyttäessä tiettyä objektia, jota käytimme kullekin, silmukalle, edustajille käyttämällä näitä kaikkia, oli suuri haitta, koska objektin selvittämiseksi meidän on koodattava useita rivejä koodaus, joka luo ohjelman vähemmän luettavissa oleva ja myös aikaa vievämpi. Näiden ongelmien ratkaisemiseksi otettiin käyttöön LINQ, koska kieliintegroitu kysely suorittaa ohjelmat / koodaukset hyvin pienellä määrällä rivejä ja myös koodi on luettavissa ja kun koodi on standardisoitu, voimme käyttää samaa koodia useissa muissa ohjelmissa.
  • Suorituksen aikana se auttaa löytämään virheet, jotta voimme helposti poistaa tai korjata virheet, ja se tarjoaa myös käännösajan tarkistuksen.
  • LINQ antaa meille tehokkaasti uuden suunnan tällaisten kysymysten ratkaisemiseksi; ja voimme myös käyttää kieliin integroitua kyselyä kokoelmien ja C # -ryhmän kanssa.
  • Se ylläpitää kyselylauseketta, laajennusmenetelmiä, implisiittisiä tyyppimuuttujia, lambda-lausekkeita, objekteja ja kokoelmia.
  • Kieli integroidussa kyselyssä ei tarvitse oppia erityyppisiä kieliä, koska erillinen kysely voi toimia minkä tahansa tietokannan kanssa. Ja se tukee myös kaikenlaisia ​​tietolähteitä, kuten esineitä, XML, kokonaisuuksia, SQL ja niin edelleen.

Kieliin integroitu kyselyala

Se on luotu lataamaan ero tavanomaisen .NET: n, joka edustaa oliokeskeistä lähestymistapaa ja vahvaa kirjoituslähestymistapaa, välillä. Kieli integroitu kysely esitteli helppokäyttöisen mallin tietojen muokkaamiseen ja kyselyyn sekä tukee tietolähteitä, jotka sisältävät XML: n, muistin sisäiset tietorakenteet ja relaatiotiedot. Kieli integroitu kysely integroitu olio- ja relaatiomenetelmään. Se on voimakkaasti kirjoitettu lauseke. Vahvasti kirjoitetut lausekkeet varmistavat, että oikean tyyppinen arvo käännösaikana ja suorituksen aikana estää virheiden löytämisen kanakoodattuina.

Miksi tarvitsemme LINQ: ta?

Aikaisemmin LINQ: lle on välttämätöntä oppia SQL, C # ja useita sovellusliittymiä, jotka sitoutuvat yhdessä kehittämään koko sovelluksen. Joten nuo ohjelmointikieli ja tietolähteet kohtaavat joitain ongelmia, ja koodaus vaikeuttaa myös sitä. Katsotaanpa esimerkki useista tekniikoista, joita ohjelmoijat käyttivät kyselyssä tietoja ennen kielelle integroidun kyselyn saapumista.

Näyteohjelma

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;

Kuinka tämä tekniikka auttaa sinua urakehityksessä?

Se on hakukone, joka auttaa tiedonkulun virtaviivaistamisessa. Se auttaa uran kasvuun hyvin suuntautuneella tavalla. Se tukee koko ryhmää, jonka kanssa on helppo työskennellä, vähentää uusintatyötä ja pitää projektin myös suunnitellussa ajassa ja arvioidun budjetin puitteissa.

johtopäätös

Olet lukenut hyvin, kuinka LINQ vaihtelee ja paranee ADO.NETissä. Lisäksi se auttaa säästämään aikaa. Viime kädessä olet tiedänyt, kuinka kielellä integroituja kyselyjä voidaan käyttää monentyyppisiin tietolähteisiin. Tässä artikkelissa opimme kieli integroidun kyselyn työprosessista ja sen käytöstä. Toivon, että tämä artikkeli olisi auttanut sinua.

Suositellut artikkelit

Tämä on opas Mikä on LINQ ?. Tässä keskustellaan määritelmästä, eduista ja käytöstä yhdessä näyteohjelman ja laajuuden kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. MongoDB GUI -työkalut
  2. Mikä on Dropbox?
  3. Mikä on Laravel?
  4. Mikä on StringBuilder C #: ssä