LINQ ir pazīstams kā valodas integrētais vaicājums, un tas tiek piedāvāts .NET 3.5 un Visual Studio 2008 versijās. LINQ izcilība ir tā, ka tā nodrošina iespēju .NET valodām (piemēram, C#, VB.NET un tā tālāk) izveidot vaicājumus atgūt informāciju no informācijas avota. Piemēram, programma var iegūt datus no nepietiekamas izpētes ierakstiem vai piekļūt darbinieku ierakstiem utt. Iepriekšējos gados šāda veida informācija tika ievietota citā datu kopā no lietojumprogrammas, un jūs patiešām vēlaties iemācīties dažāda veida jautājumu valodas, lai piekļūtu šāda veida informācijai, piemēram, SQL, XML un tā tālāk. Turklāt jūs nevarat uzdot jautājumu, izmantojot C# valodu vai kādu citu .NET valodu.
kā java savienot virknes
Lai pārvarētu šāda veida problēmas, Microsoft izveidoja LINQ. Tas savieno vēl vienu jaudu ar C# vai .NET dialektiem, lai izveidotu jautājumu jebkuram LINQ dzīvotspējīgam informācijas avotam. Turklāt labākā daļa ir tāda, ka jautājuma formulēšanai izmantotā teikuma struktūra ir līdzīga neatkarīgi no izmantotā informācijas avota veida, tas nozīmē, ka sociālā datu kopas informācijas vaicājuma gramatika ir tāda pati kā jautājuma informācijas sagatavošanai. ievietojot klasterī, ir pārliecinošs iemesls izmantot SQL vai kādu citu ne.NET valodas komponentu. Varat arī izmantot LINQ ar SQL, ar XML ierakstiem, ar ADO.NET, ar tīmekļa administrācijām un ar kādu citu informācijas bāzi.
C# valodā LINQ ir pieejams sistēmā. Linq nosaukumvieta. Tas piedāvā dažāda veida nodarbības un paņēmienus, kas atbalsta LINQ jautājumus. Šajā nosaukumvietā:
- Klasei Enumerable ir standarta vaicājuma operators, kas darbojas ar objektu, kas izpilda IEnumerable.
- Pieprasāmajā klasē ir standarta vaicājumu administratori, kas strādā ar objektu, kas izpilda IQueryable.
Piemēram : SQL ir strukturēta vaicājuma valoda, ko izmanto datu saglabāšanai un atjaunošanai no datu bāzes. Tāpat LINQ ir organizēta vaicājuma teikuma struktūra. LINQ ir pamata C#. To izmanto, lai atgūtu informāciju no dažāda veida avotiem, piemēram, XML, dokumentiem, kolekcijām, ADO.Net DataSet, Web Service, MS SQL Server un dažādiem datu bāzes serveriem.
LINQ lietojumi
- LINQ izveides galvenais iemesls ir tas, ka pirms C# 3.0 mēs izmantojām cilpu katrai cilpai vai delegātiem, lai šķērsotu kolekciju, lai izsekotu konkrētu objektu, tomēr šo stratēģiju izmantošanas kaitējums objekta atrašanai ir tas, ka jūs patiešām vēlaties izveidojiet milzīgu daudzumu koda, lai atrastu objektu, kas ir papildu nogurdinošs, un padarītu jūsu programmu mazāk skaidru. Lai novērstu šīs problēmas, tiek piedāvāts LINQ, kas dažās rindās veic līdzīgu darbību un padara jūsu kodu skaidru; turklāt jūs varat iesaistīt līdzīgu kodu dažādos projektos.
- Tas papildus nodrošina pilnīgu kārtošanas pārbaudi kompilēšanas laikā. Tas palīdz mums noteikt kļūdu izpildes laikā, tāpēc mēs, bez šaubām, varam tās novērst.
- LINQ ir vienkārša, ļoti sakārtota un ievērojama līmeņa valoda nekā SQL
- Varat arī izmantot LINQ ar C# masīvu un kolekcijām. Tas sniedz jums citus norādījumus, kā efektīvi atrisināt vecās problēmas.
- Ar LINQ palīdzību jūs neapšaubāmi varat strādāt ar datu avotiem, piemēram, XML, SQL, entītijām, objektiem utt. Viens vaicājums var darboties ar datu bāzi, nepārvarama iemesla dēļ ir jāapgūst dažādas valodas.
- LINQ atbalsta vaicājuma izteiksmi, anonīmos veidus, netieši ievadītos mainīgos, Lambda izteiksmes, objektu un kolekcijas inicializētājus un paplašinājuma metodes.
Mēs varam izmantot LINQ vaicājumus divos veidos
LINQ vaicājums Sintakses struktūra sastāv no vaicājuma atslēgvārdiem, kas ir raksturoti .NET System atveidē 3.5 vai jaunākā versijā. Tas ļauj programmatūras inženierim vai izstrādātājiem sastādīt norādījumus ļoti līdzīgi SQL dizainam kodā (C# vai VB.NET), neizmantojot tarifus. Tas ir līdzīgi zināms, ņemot vērā faktu, ka jautājuma artikulācijas gramatika. Programmā LINQ varat izveidot vaicājumu IEnumerable sērijas vai IQueryable informācijas avotiem, izmantojot sekojošās stratēģijas:
1. Vaicājuma sintakse:
LINQ vaicājuma valodas sintakse sākas ar atslēgvārdu un beidzas ar atslēgvārdu Select vai GroupBy. Pēc no atslēgvārda varat izmantot dažāda veida standarta vaicājuma darbības, piemēram, grupēšanu, filtrēšanu un tā tālāk, kā norādīts jūsu vajadzībām. Programmā LINQ ir pieejami 50 unikāli standarta jautājumu administratoru veidi.
Vaicājuma sintakses rakstīšanas darbības:
1. darbība: Pirmajā solī kodā ir jāpievieno System.Linq nosaukumvieta.
i.e., using System.Linq;
2. darbība: Otrajā darbībā mums ir jāizveido datu avots, kurā mums jāveic darbības
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
3. darbība: Trešajā darbībā mums ir jāizveido datu avota vaicājums, izmantojot tādu atslēgvārdu kā atlasīt, no utt.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Šeit r ir vaicājuma mainīgais, kas saglabā vaicājuma artikulācijas rezultātu. Formas klauzula tiek izmantota, lai noteiktu informācijas avotu, t.i., sarakstu, kurā nosacījums attiecas uz kanālu, t.i., l.Contains('Hii'), un atlases priekšraksts norāda atpakaļ atvesto lietu veidu. Turklāt l ir sasniedzamības mainīgais.
4. darbība: Pēdējais solis ir izpildīt vaicājumu, izmantojot katrai cilpai.
EX: foreach(var i in r) { Console.WriteLine(i); }
Vaicājuma sintakses programmas piemērs:
// 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); } } }
Izvade:
2. Metodes sintakse
Programmā LINQ metodes sintakse tiek izmantota, lai izsauktu paplašināšanas metodi statiskajām klasēm Enumerable vai Queryable. To sauc arī par metodes paplašinājuma sintakse vai Fluent. Neskatoties uz to, kompilators kompilēšanas laikā parasti maina vaicājuma sintakse metodes sintakses struktūrā. Tas var izsaukt standarta vaicājuma operatoru, piemēram, Kur, Join, Max, Min, Avg, GroupBy Select un tā tālāk. Jums ir atļauts tos izsaukt tieši, neizmantojot vaicājuma sintaksi.
1 no 1000
1. darbība: Pirmajā solī kodā ir jāpievieno System.Linq nosaukumvieta.
i.e., using System.Linq;
2. darbība: Otrajā darbībā mums ir jāizveido datu avots, kurā mums jāveic darbības
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
3. darbība: Tagad izveidojiet vaicājumu, izmantojot metodes, ko nodrošina statiskās klases Enumerable vai Queryable
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Šeit r ir vaicājuma mainīgais, kas saglabā vaicājuma artikulācijas rezultātu. Formas klauzula tiek izmantota, lai noteiktu informācijas avotu, t.i., sarakstu, kurā nosacījums attiecas uz kanālu, t.i., l.Contains('Hii'), un atlases priekšraksts norāda atpakaļ atvesto lietu veidu. Turklāt l ir sasniedzamības mainīgais.
4. darbība: Pēdējais solis ir izpildīt vaicājumu, izmantojot katrai cilpai.
EX: foreach(var i in r) { Console.WriteLine(i); }
Metodes sintakses programmas piemērs:
// 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); } } }
Izvade:
LINQ priekšrocības
- Klientam nav jāapgūst jaunas vaicājumu valodas cita veida datu formātam vai datu avotam.
- Tas palielina koda skaidrību.
- Vaicājumu var izmantot atkārtoti.
- Tas nodrošina objekta tipa pārbaudi montāžas laikā.
- Tas nodrošina IntelliSense tradicionālajām kolekcijām.
- To mēdz izmantot ar kolekcijām vai masīviem.
- LINQ atbalsta pasūtīšanu, grupēšanu, filtrēšanu un šķirošanu.
- Tas padara atkļūdošanu vienkāršu, jo tā ir saskaņota ar C# valodu.
- Tas nodrošina vienkāršas izmaiņas, kas liek domāt, ka bez šaubām varat mainīt vairāk nekā vienu datu tipu citā datu tipā, piemēram, mainīt SQL datus XML datos.