Úvod do jazyka integrovaného dopytu

LINQ je skrátený na jazykový integrovaný dopyt. Bola založená v .NET 3.5 a Visual Studio 2008, hlavnou koncepciou LINQ je poskytovať zariadenia .NET jazykom (ako C #, VB.NET atď.) Na vytváranie dopytov na spätné získavanie údajov zo zdroja údajov. Načítať dáta z rôznych formátov a zdrojov v C # a VB.NET je jeho jednotná syntax dotazu. Eliminuje rozdiely medzi databázami a programovacími jazykmi, pretože je integrovaný s C # / VB, a tiež za predpokladu, že odlišné dotazovacie rozhranie pre rôzne typy zdrojov údajov. Umožňuje použitie objektovo orientovaného prístupu k množine výsledkov; Výsledné dotazy vracajú výsledky ako objekty.

Rozdiel medzi SQL a LINQ je ten, že (Language Integrated Query) je štruktúrovaná syntax dotazu, ktorá vstavala VB.NET a C # na načítanie údajov z rôznych typov zdrojov údajov, ktoré zahŕňajú MS SQL Server, ADO.Net DataSet, webovú službu., Zbierky, dokumenty XML a ďalšie databázy. SQL je rovnako štruktúrovaný dotazovací jazyk, ktorý sa používa na ukladanie a získavanie údajov z databázy.

definícia

Jazyk integrovaný dopyt navrhuje kompaktnú významnú a zrozumiteľnú syntax pre prevádzkové údaje. Language Integrated Query je programovacia taktika a model spoločnosti Microsoft, ktorý efektívne zahŕňa formálne dopytovacie schopnosti do programovacích jazykov spoločnosti Microsoft .NET. Vyžaduje si prítomnosť konkrétnych jazykových rozšírení. Skutočná hodnota jazyka Integrated Query vychádza z jeho schopnosti aplikovať ten istý dotaz na DataSet, SQL Database, pole objektov v pamäti a tiež na rôzne typy údajov.

porozumenie

Skladá sa z trojvrstvovej architektúry, v ktorej má horná vrstva jazykové rozšírenia a najspodnejšia vrstva má zdroje údajov, ktoré sú všeobecne objektmi implementujúcimi IEnumerable alebo IQueryable generic interface. Architektúra LINQ je uvedená nižšie.

V jazyku C # sa LINQ prezentuje v systéme názvov. Linq. Definuje rôzne typy metód a tried podporujúcich dotazy LINQ. V mennom priestore sa skladá z

  • Vyčísliteľná trieda obsahuje štandardné operátory dotazov, ktoré fungujú na objekte, ktorý vykonáva IEnumerable.
  • Trieda Queryable obsahuje štandardné operátory dotazov, ktoré fungujú na objekte a vykonávajú IQueryable.

Jadrové zostavy v ňom sú:

  • Používanie systému. Linq: Obsluhujte triedy a rozhranie, aby ste udržali dotazy LINQ
  • Používanie System.Collections.Generic: (LINQ to Objects) Umožnite užívateľovi vytvárať silne typizované kolekcie, ktoré sprístupňujú bezpečnosť a výkon typu
  • Použitie System.Data.Linq: (LINQ na SQL) Ponuka s funkciou oprávnenia používať relačné databázy
  • Používanie System.XML.Linq: (LINQ do XML) Predstavuje funkčnosť pre právo používať dokumenty XML pomocou LINQ.
  • Using System.Data.Linq.Mapping: Priradená trieda ako entita prepojená s databázou.

Ako uľahčuje LINQ prácu?

Pri práci s programom LINQ je to také jednoduché, pretože jazykovo integrovaný dopyt poskytuje jazykovo integrovaný a objektovo orientovaný prístup k dotazu. Pomocou jazyka integrovaného dotazu môžeme dotazovať XML, databázu a tiež zbierky. Počas kompilácie skontroluje syntax. V jazyku Integrated Query je písanie kódov rýchlejšie, vďaka čomu sa automaticky znižuje aj čas potrebný na vývoj. Aby sme si uvedomili, prečo by sme mali používať jazykovo integrovaný dotaz, pozrime sa na niekoľko príkladov. Predpokladajme, že chcete vyhľadať zoznam mladých študentov z radu Studentských objektov.
Skôr ako C # 2.0, museli sme použiť kolekciu „pre každú“ alebo „pre“, aby sme prešli kolekciu, aby sme našli presný objekt. Napríklad, napísať kód, aby sa zobrazil zoznam všetkých objektov študentov zo súboru Študenti, ktorých hodnota SAge je medzi 12 a 20.

Vzorový program na použitie slučky

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

Použitie pre slučku je náročné, nie vždy zvládnuteľné pri hľadaní viacerých čísel výsledkov a tiež nie je čitateľné. Tím prichádza s ďalšou verziou v C # 3.0, ktorá bola zavedená, pomocou tohto prístupu sa dajú vyriešiť také typy problémov, pretože jazykovo integrovaný dopyt je stavebným blokom prvkov dotazu pre niekoľko druhov kolekcií a výsledky získava aj jediným príkazom,
Pozrime sa na nasledujúci príklad, ktorý vysvetľuje, že lambda výraz LINQ dotaz pomáha nájsť konkrétneho študenta zo zbierky zoznamov.

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

Vďaka jazykovému integrovanému dotazu je kód navyše komprimovaný a zrozumiteľný a dá sa tiež použiť na dotazovanie na niekoľko zdrojov údajov.

Aké je použitie LINQ

  • Známy jazyk
  • Menej kódovania
  • Čítateľný kód
  • identická technika dopytovania mnohých zdrojov údajov
  • Ochrana otázok pri kompilácii času
  • Údržba Intelli-Sense
  • Určenie údajov

Práca s LINQ

Jazykovo integrované zdroje údajov s povoleným dopytom. typy LINQ sú stručne uvedené nižšie.

  • LINQ na objekty
  • LINQ do XML (XLINQ)
  • LINQ na množinu údajov
  • LINQ na SQL (DLINQ)
  • Linq k entitám

1. LINQ k objektu

LINQ to Objects predstavuje spracovanie všetkých dopytov LINQ podporujúcich IEnumerable pre prístup k zbierkam a objektom v pamäti. Vrátená premenná v riadku na objekty bude typu IEnumerable.

2. LINQ do XML (XLinq)

LINQ to XML je dostupné v mennom priestore s názvom System.Xml.Linq. na dopytovanie zdrojov údajov XML, využívame LINQ až XML. Linq to XML navyše najlepšie využíva funkčnosť .NET framework, ako napríklad Compile-Time Checking, Debugging a Strong Typeing atd. keď je načítanie dokumentov XML do pamäte jednoduché a ľahšie v úprave a vyhľadávaní dokumentov.

3. LINQ k množine údajov

LINQ to DataSet, ktorý udržuje dotazy pomocou dátových tabuliek a súborov údajov ADO.NET. keď sa údaje konsolidujú z niekoľkých zdrojov údajov, použijeme na dotazovanie LINQ k množine údajov.

4. LINQ na SQL

LINQ to SQL sa tiež nazýva DLINQ a je súčasťou dotazu integrovaného do jazyka; pomocou výrazov LINQ, umožňuje dotazovanie údajov v databáze SQL Server.

5. LINQ pre subjekty

V LINQ na entity pomocou C # Je to jednoduchý a jednoduchý spôsob, ako dotazovať entity. Query je výraz, ktorý sa používa na získanie údajov z úložiska údajov. pomocou tohto DBContext v EF 6 alebo DBContext v EF Core entity framework dotazovanie databázy je hotové.

výhody

Jazykovo integrovaný dopyt ponúka množstvo výhod; Niektoré z výhod sú uvedené nižšie.

  • Pomáha pri zisťovaní chýb počas návrhu kvôli zvýrazneniu syntaxe.
  • Pomáha to pri písaní dotazu presnejšie.
  • V jazyku Integrated Integrated Query sa vývojový čas skráti, pretože písanie kódu je v Language Integrated Query oveľa rýchlejšie a ľahšie.
  • Je integrovaný s jazykom C #, vďaka čomu uľahčuje ladenie.
  • Má svoje hierarchické vlastnosti, pretože prezeranie vzťahov medzi dvoma tabuľkami je jednoduchšie a vytváranie otázok pomocou viacnásobných spojení trvá menej času.
  • Jazykovo integrovaný dotaz podporuje jednoduchšiu transformáciu pre prevod z jedného typu údajov na iný typ údajov, ako je napríklad transformácia z údajov SQL do údajov XML.
  • Použitím LINQ vývojári môžu ľahko udržiavať a zrozumiteľné, pretože jeho kód je čitateľnejší.
  • V LINQ bude existovať jednotná syntax pre dopytovanie viacerých zdrojov údajov.
  • Počas kompilácie poskytuje LINQ kontrolu typu objektov.
  • Podporuje tvarovanie dát, môžeme načítať dáta v rôznych tvaroch.

Prečo by sme mali používať LINQ?

Pozrime sa, prečo sa vyvinul jazykovo integrovaný dopyt alebo prečo používame LINQ, je niekoľko bodov, ktoré definujú, prečo používame jazykovo integrovaný dopyt.

  • Pri porovnaní s SQL je LINQ ľahko ovládateľný, jazyk na vysokej úrovni a dobre orientovaný.
  • Hlavným princípom, ktorý stojí za budovaním LINQ, je predtým, ako nájsť C # 3.0, aby sme našli konkrétny objekt, ktorý sme používali pre každého, pre slučku, delegáti, ktorý použil všetky tieto prvky, mal hlavný nedostatok, pretože na nájdenie objektu potrebujeme kódovať niekoľko riadkov kódovanie, ktoré vytvára program menej čitateľný a časovo náročnejší. Na prekonanie týchto problémov bol zavedený program LINQ, pretože jazykovo integrovaný dopyt urobí programy / kódovanie vo veľmi menšom počte riadkov a kód sa stane čitateľnejším a po štandardizácii kódu ho môžeme použiť v niekoľkých ďalších programoch.
  • Počas behu pomáha pri hľadaní chýb, aby sme ich mohli ľahko odstrániť alebo opraviť, a tiež poskytuje kontrolu pri kompilácii.
  • LINQ nám efektívnym spôsobom dáva nový smer na riešenie týchto problémov; a tiež môžeme použiť jazykovo integrovaný dotaz so zbierkami a poľom C #.
  • Zachováva výraz dotazu, metódy rozšírenia, implicitné typy premenných, výrazy lambda, objekty a kolekcie.
  • V jazyku Integrated Integrated Query nie je potrebné učiť sa rôzne typy jazykov, pretože samostatný dotaz môže pracovať s akoukoľvek databázou. A tiež podporuje akýkoľvek zdroj údajov, ako sú objekty, XML, entity, SQL a tak ďalej.

Rozsah integrovaného jazyka

Je vytvorený na načítanie medzery medzi konvenčným .NET, ktorý predstavuje objektovo orientovaný prístup a silný typizačný prístup. Aplikácia Language Integrated Query zaviedla ľahký vzdelávací model na úpravu a vyhľadávanie údajov a tiež podporuje zdroje údajov, ktoré zahŕňajú XML, dátové štruktúry v pamäti a relačné údaje. Jazyk integrovaný dopyt integrovaný s objektovo orientovaným a vzťahovým prístupom. Jedná sa o výrazný výraz. Výrazne zadané výrazy zabezpečujú, aby hodnota správneho typu v čase kompilácie a počas behu zabraňovala zisteniu chýb pri kódovaní sliepok.

Prečo potrebujeme LINQ?

V skoršom období programu LINQ bolo potrebné naučiť sa jazyky SQL, C # a niekoľko rozhraní API, ktoré sa spájajú pri vývoji celej aplikácie. Aby tieto zdroje programovacieho jazyka a údajov čelili niektorým problémom a kódovanie tiež sťažuje. Pozrime sa na príklad niekoľkých techník, ktoré použili programátori pri vyhľadávaní údajov pred príchodom jazyka integrovaného dopytu.

Vzorový 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;

Ako vám táto technológia pomôže v kariérnom raste?

Je to vyhľadávací nástroj, ktorý pomáha pri zefektívňovaní pracovných tokov údajov. Pomôže pri kariérnom raste dobre orientovaným spôsobom. Podporuje ľahkú prácu s celým tímom a redukuje prepracovanie a tiež udržuje projekt v plánovanom čase av rámci odhadovaného rozpočtu.

záver

Dobre ste si prečítali, ako sa LINQ líši od ADO.NET a ako je na tom lepšie. Okrem toho pomáha pri šetrení času. Nakoniec ste vedeli, ako sa dajú jazykovo integrované dotazy použiť pre niekoľko typov zdrojov údajov. V tomto článku sme sa dozvedeli o pracovnom procese dotazu integrovaného v jazyku a o tom, ako ho používať. Dúfam, že vám tento článok pomohol.

Odporúčané články

Toto je príručka k téme Čo je LINQ ?. Tu diskutujeme definíciu, výhody a použitie spolu so vzorovým programom a rozsahom. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Nástroje GUI pre MongoDB
  2. Čo je Dropbox?
  3. Čo je Laravel?
  4. Čo je StringBuilder v jazyku C #

Kategórie: