Introduktion till språkintegrerad fråga

LINQ förkortas som språkintegrerad fråga. Det är etablerat i .NET 3.5 och Visual Studio 2008, huvudkonceptet med LINQ är att tillhandahålla anläggningen till .NET-språk (som C #, VB.NET, etc.) för att bygga frågor för att få tillbaka data från datakällan. För att hämta data från olika format och källor i C # och VB.NET är dess enhetliga frågsyntax. Det eliminerar variationen mellan databaser och programmeringsspråk eftersom det integrerades med C # / VB och också gav det distinkta frågefränssnittet för olika typer av datakällor. Det gör det möjligt att använda en objektorienterad strategi på resultatset; de resulterande frågorna returnerar resultaten som objekt.

Skillnaden mellan SQL och LINQ är att där (Language Integrated Query) är strukturerad frågesyntax som inbyggd VB.NET och C # för att hämta data från olika typer av datakällor som inkluderar MS SQL Server, ADO.Net DataSet, webbtjänst, Samlingar, XML-dokument och andra databaser. På samma sätt är SQL ett strukturerat frågespråk som används för att lagra och hämta data från en databas.

Definition

Språkintegrerad fråga föreslår en kompakt betydande och förståelig syntax för driftsdata. Language Integrated Query är en Microsoft-programmeringstaktik och -modell som effektivt inkluderar formella frågeställningar i Microsoft .NET-programmeringsspråk. Det har ett behov av närvaro av särskilda språkförlängningar. Det verkliga värdet för språkintegrerad fråga kommer från dess förmåga att tillämpa samma fråga på en DataSet, SQL-databas, en rad objekt i minnet och även olika typer av data.

Förståelse

Dess består av tre-lager arkitektur där det övre lagret har språkförlängningar och det nedersta lagret har datakällor som i allmänhet är objekt som implementerar IEnumerable eller IQueryable generiska gränssnitt. LINQ-arkitekturen visas nedan.

I C # presenterar LINQ i namnområdet System. Linq. Den definierar olika typer av metoder och klasser stöder LINQ-frågorna. I namnområdet består det av

  • En mängd klass innehåller standardfrågefunktörer som fungerar på objekt kör IEnumerable.
  • Queryable-klassen innehåller standardfrågefunktioner som fungerar på objekt kör IQueryable.

Kärnenheterna i den är:

  • Använda systemet. Linq: Utbjuda med klasser och gränssnitt för att upprätthålla LINQ-frågor
  • Använda System.Collections.Generic: (LINQ to Objects) Låt användaren bygga starkt typade samlingar som gör tillgängliga typsäkerhet och prestanda
  • Använda System.Data.Linq: (LINQ till SQL) Erbjud med funktionen till höger för att använda relationella databaser
  • Använda System.XML.Linq: (LINQ till XML) Visar funktionaliteten för rätt att använda XML-dokument med LINQ.
  • Använda System.Data.Linq.Mapping: Tilldelas en klass som en enhet kopplad till en databas.

Hur gör LINQ att arbeta så enkelt?

När du arbetar med LINQ är så enkelt eftersom den språkintegrerade frågan ger en språkintegrerad och objektbaserad strategi för frågan. Genom att använda språkintegrerad fråga kan vi fråga XML, databas och även samlingar. Det kommer att kontrollera syntaxen under kompileringstiden. I språkintegrerade frågeställningar är skrivkoder snabbare på grund av att utvecklingstiden också reduceras automatiskt. För att inse varför vi ska använda språkintegrerad fråga, låt oss se några exempel. Anta att du vill hitta listan över unga studenter från en rad studentobjekt.
Tidigare än C # 2.0 var vi tvungna att använda en 'för varje' eller en 'för' slinga för att gå över samlingen för att upptäcka ett exakt objekt. Till exempel, för att skriva koden för att lista alla studentobjekt från en grupp studenter där SAge är mellan 12 och 20.

Exempelprogram för användning för loop

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

Användningen av för slinga är betungande, inte hanterbar hela tiden när man hittar flera resultatantal och inte heller är läsbar. Så teamet går med nästa version i C # 3.0 som det introducerades, med hjälp av denna metod kan lösa sådana typer av problem eftersom språkintegrerad fråga är byggstenen i frågaelement för flera slags samlingar och också får resultatet med ett enda uttalande .
Låt oss se exemplet nedan förklarar att lambda-uttrycket LINQ-frågan hjälper till att ta reda på en specifik student från listan.

Exempelprogram

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

Således gör språkintegrerad fråga kod ytterligare komprimerad och förståelig och den kan också användas för att fråga flera datakällor.

Vad är LINQ?

  • Välkänt språk
  • Mindre kodning
  • Läsbar kod
  • den identiska tekniken för att fråga många datakällor
  • Kompilera tidsskydd för frågor
  • Intelli-Sense underhåll
  • Bestämma data

Arbetar med LINQ

Språkintegrerade fråga aktiverade datakällor. typerna av LINQ nämns nedan i korthet.

  • LINQ till objekt
  • LINQ till XML (XLINQ)
  • LINQ till datauppsättning
  • LINQ till SQL (DLINQ)
  • Linq till enheter

1. LINQ till objekt

LINQ to Objects Presenterar hantering av alla LINQ-frågor som stöder IEnumerable för åtkomst till datasamlingar och objekt i minnet. Returvariabeln i Linq till objekt kommer att vara av typ IEantal.

2. LINQ till XML (XLinq)

LINQ till XML finns tillgängligt i namnområdet som heter System.Xml.Linq. för att fråga XML-datakällor, använder vi LINQ till XML. Linq till XML gör dessutom den bästa användningen av .NET-ramfunktioner som Compile-Time Checking, Debugging och Strong Typing och så vidare. när du laddar XML-dokument i minnet är enkelt och enklare när det gäller dokumentändring och fråga.

3. LINQ till dataset

LINQ till dataset som upprätthåller frågor genom att använda ADO.NET-datatabeller och datauppsättningar. när data konsolideras från flera datakällor kommer vi att använda LINQ till Dataset för frågeställningar.

4. LINQ till SQL

LINQ till SQL kallas också DLINQ och är en del av språkintegrerad fråga; genom att använda LINQ-uttryck, gör det möjligt att fråga data i SQL Server-databasen.

5. LINQ till enheter

I LINQ till enheter med hjälp av C # Det är ett enkelt och enkelt sätt att fråga enheterna. en fråga är ett uttryck som används för att hämta data från datalagret. genom att använda denna DBContext i EF 6 eller DBContext i EF Core-enhetens ramverk som ifrågasätter databasen.

fördelar

Språkintegrerad fråga erbjuder massor av fördelar; Några av fördelarna ges nedan.

  • Det hjälper till att ta reda på misstag under designtiden på grund av syntaxbelysning.
  • Det hjälper till att skriva frågan mer exakt.
  • I språkintegrerad fråga kommer utvecklingstiden att reduceras eftersom skrivkoden är mycket snabbare och enklare i språkintegrerad fråga.
  • Det är integrerat med C # -språket eftersom det gör det enkelt att felsöka.
  • Det har sina hierarkiska funktioner på grund av att visningen av förhållandet mellan två tabeller är enklare och det tar mindre tid att skapa frågor med flera sammanfogningar.
  • Språkintegrerad fråga stöder enklare transformation för att konvertera från en datatyp till en annan datatyp som omvandlingen från SQL till XML-data.
  • Genom att använda LINQ kan utvecklare enkelt underhållas och förstås på grund av dess kod mer läsbar.
  • I LINQ kommer det att finnas en enhetlig syntax för att fråga flera datakällor.
  • Under sammanställningstiden tillhandahåller LINQ typkontroll av objekt.
  • Det stöder utformningen av data, vi kan hämta data i olika former.

Varför ska vi använda LINQ?

Låt oss se varför språkintegrerad fråga utvecklas eller varför vi använder LINQ, det finns flera punkter för att definiera varför vi använder språkintegrerad fråga.

  • Vid jämförelse med SQL är LINQ lätt att arbeta, ett språk på hög nivå och välorienterat.
  • Huvudprincipen bakom att bygga LINQ är, tidigare till C # 3.0 för att hitta ett visst objekt som vi använde för varje, för loop, delegater genom att använda dessa allt var det en stor nackdel för att ta reda på ett objekt måste vi koda flera rader med kodning vilket skapar program som är mindre läsbara och också mer tidskrävande. För att komma till rätta med dessa problem introducerades LINQ, eftersom språkintegrerad fråga gör programmen / kodningen på ett mycket mindre antal rader och även koden blir mer läsbar och när koden är standardiserad kan vi använda samma kod i flera andra program.
  • Under körtiden hjälper det till att hitta felen så att vi enkelt kan ta bort eller korrigera felen och det ger också kontroll av kompileringstid.
  • På ett effektivt sätt ger LINQ oss en ny riktning för att lösa sådana problem; och vi kan också använda språkintegrerad fråga med samlingar och C # array.
  • Dess upprätthåller i ett frågauttryck, förlängningsmetoder, implicita typvariabler, lambda-uttryck, objekt och samlingar.
  • I språkintegrerad fråga finns det inget behov av att lära sig olika typer av språk eftersom en särskild fråga kan fungera med någon form av databas. Och det stöder alla typer av datakällor som objekt, XML, enheter, SQL och så vidare.

Språkintegrerat frågeställning

Det skapas för att ladda klyftan mellan konventionell .NET, som presenterar ett objektorienterat tillvägagångssätt och stark typsätt. Språkintegrerad fråga introducerade en enkel inlärningsmodell för att modifiera och fråga data och den stöder också datakällor som inkluderar XML, datastrukturer i minnet och relationella data. Språkintegrerad fråga integrerad med en objektorienterad och relationell metod. Det är ett starkt typiskt uttryck. Starkt typade uttryck ser till att värdet som för rätt typ vid sammanställningstiden och under körning förhindrar att felen hittas hönkodad.

Varför behöver vi LINQ?

I tidigare till LINQ är det nödvändigt att lära sig SQL, C # och flera API: er som binder samman för att utveckla en hel applikation. Så att dessa programmeringsspråk och datakällor står inför vissa problem och kodning gör det också svårt. Låt oss se ett exempel på flera tekniker som användes av programmerare när de frågade data före ankomst av språkintegrerad fråga.

Exempelprogram

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;

Hur denna teknik kommer att hjälpa dig i karriärtillväxt?

Det är en sökmotor som hjälper till med att effektivisera dataarflödena. Det hjälper till i karriärstillväxten på ett välorienterat sätt. Det stöder hela teamet som är lätt att arbeta med och minskar omarbetningen och håller också projektet på schemalagd tid och inom den uppskattade budgeten.

Slutsats

Du har läst väl hur LINQ varierar från och bli bättre på ADO.NET. Dessutom hjälper det till att spara tid. I slutändan har du känt till hur språkintegrerade frågor kan användas för flera typer av datakällor. I den här artikeln lärde vi oss om arbetsprocessen för språkintegrerad fråga och hur man använder den. Jag hoppas att den här artikeln skulle ha hjälpt dig.

Rekommenderade artiklar

Detta är en guide till Vad är LINQ ?. Här diskuterar vi definitionen, fördelarna och användningen tillsammans med provprogrammet och omfattningen. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. MongoDB GUI-verktyg
  2. Vad är Dropbox?
  3. Vad är Laravel?
  4. Vad är StringBuilder i C #

Kategori: