Skip to main content

Wat is een taal geïntegreerde zoekopdracht?

Taal geïntegreerde query (LINQ) biedt de mogelijkheid om de declaratieve query -syntaxis naadloos te integreren in imperatieve talen, voornamelijk C# en VB.NET.De ontwikkeling van LINQ loste de problemen op die ontwikkelaars die werkten in objectgeoriënteerde omgevingen die werden aangetroffen bij het uitvoeren van vragen.Het werd geïntroduceerd als onderdeel van de Microsoft .NET Framework versie 3.5 in november 2007, en in Visual Studio Codenaam Orcas.

Voorafgaand aan het creëren van taal geïntegreerde query, .NET -talen hadden geen native manier om relationele databases of XML -documenten te vragen.Ontwikkelaars die in deze talen schrijven, moesten SQL of XQuery respectievelijk insluiten als tekenreeksen en de resulterende gegevens handmatig toewijzen aan .NET -objecten.Embedded Query-snaren en toewijzingen konden niet worden gevalideerd door .NET-compilers, waardoor potentiële fouten tijdens de runtime kunnen worden ontdekt.

Een andere probleemontwikkelaars die werden geconfronteerd voordat de taal geïntegreerde query was, was dat .NET-talen alleen bezwaar hadden gemaakt op georiënteerde syntaxis voor querycollecties van.Netto objecten.Doorgaans zou de ontwikkelaar een hele broncollectie herhalen en nieuwe resultaatcollecties bouwen op basis van zoekcriteria.De ontwikkelaar kan ook de gegevens transformeren tijdens het bouwen van de resultaatcollecties.Deze benadering was omslachtig;Een eenvoudige geselecteerde query geschreven in C# of VB zou ten minste vijf regels code nodig hebben, terwijl dezelfde query één regel code in een querytaal zou vereisen.maak Linq.LINQ biedt een query-syntaxis die doet denken aan SQL die in-line moet worden gebruikt met C# of VB, compleet met statische typecontrole.Bij het opvragen van .NET -collecties kunnen ontwikkelaars in plaats van geneste lussen LinQ -syntaxis gebruiken om items te selecteren en gegevens te transformeren.Onder andere voordelen resulteert dit in minder coderegels in vergelijking met puur objectgeoriënteerde syntaxis.

Bij het gebruik van externe gegevensbronnen verwijderen LINQ en ondersteunende componenten de behoefte aan ingebedde querytalen en data -toewijzingen binnen een .NET -taal zelf.Om gegevensmapping uit te voeren, hangt LINQ af van componenten genaamd LINQ -providers.Linq-to-Objects is de aandelenaanbieder waarmee LINQ toegang heeft tot .NET-collecties.Evenzo zijn er providers om toegang te krijgen tot relationele databases en XML -documenten.De meeste van deze providers zijn componenten van derden die niet in het .NET-framework zijn opgenomen.Ongeacht de gebruikte provider, gebruiken alle query's dezelfde LINQ -syntaxis.

Tussen de taal Integrated Query -syntaxis en de providers is een bibliotheek van query -operators die aan het .NET -framework worden toegevoegd als onderdeel van de LINQ -faciliteiten.Deze operatoren voeren taken uit als filteren, bestellen, instellen van theorie -bewerkingen en aggregatie.Aangezien deze operators deel uitmaken van het .NET -raamwerk, kunnen ze ook zonder Linq worden gebruikt als de ontwikkelaar zo kiest.