Skip to main content

Mi az a nyelvi integrált lekérdezés?

A nyelvintegrált lekérdezés (LINQ) lehetővé teszi a deklaratív lekérdezés szintaxisának zökkenőmentes integrálását az imperatív nyelvekbe, elsősorban a C# és a VB.NET.A LINQ fejlesztése oldotta meg a fejlesztők problémáit, amelyek objektum-orientált környezetben dolgoztak, amelyek a lekérdezések elvégzésekor felmerültek.A Microsoft Reg részeként vezették be;.NET Framework 3.5 verziója, 2007 novemberében, valamint a Visual Studio Codename orcas.Az ezeken a nyelveken írt fejlesztőknek az SQL vagy az XQuery beágyazásnak kellett beágyazniuk karakterláncokként, és manuálisan feltérképezniük a .NET objektumokra vonatkozó adatokat.A beágyazott lekérdezési karakterláncokat és leképezéseket a .NET fordítói nem lehetett érvényesíteni, lehetővé téve a potenciális hibák felfedezését futási időben.

Egy másik problémás fejlesztők, akikkel a nyelv integrált lekérdezése előtt szembesültek, az volt, hogy a .NET-nyelvek csak kifogásolták a lekérdezések lekérdezésének szintaxisát.Nettó objektumok.A fejlesztő általában egy egész forrásgyűjteményt iterál, új eredménygyűjteményeket építve a keresési kritériumok alapján.A fejlesztő átalakíthatja az adatokat az eredménygyűjtemények felépítése közben is.Ez a megközelítés nehézkes volt;A C# vagy VB-ben írt egyszerű, kiválasztott lekérdezéshez legalább öt kódsorra van szükség, míg ugyanezen lekérdezéshez egy kódsorra lenne szükség a lekérdezés nyelvén.Hozzon létre Linq -t.A LINQ egy SQL-re emlékeztető lekérdezési szintaxisot biztosít, amelyet C# vagy VB-vel együtt használni kell, statikus típusú ellenőrzéssel kiegészítve.A .NET gyűjtemények lekérdezése esetén a beágyazott hurkok használata helyett a fejlesztők a Linq szintaxist használhatják az elemek kiválasztására és az adatok átalakításához.További előnyök között ez kevesebb kódsorot eredményez, mint a tisztán objektum-orientált szintaxis.

A külső adatforrásokhoz való hozzáféréskor a LINQ és a támogató alkatrészek eltávolítják a beágyazott lekérdezési nyelvek és az adatok leképezésének szükségességét a .NET nyelven belül.Az adatok leképezésének végrehajtása érdekében a LINQ a LINQ szolgáltatóknak nevezett alkatrészektől függ.A Linq-to-Objects az a tőzsdei szolgáltató, amely lehetővé teszi a Linq számára a .NET gyűjtemények elérését.Hasonlóképpen vannak olyan szolgáltatók, akik hozzáférhetnek a relációs adatbázisokhoz és az XML dokumentumokhoz.Ezeknek a szolgáltatóknak a többsége harmadik fél alkatrészei, amelyek nem szerepelnek a .NET keretrendszerében.A használt szolgáltatótól függetlenül az összes lekérdezés ugyanazt a Linq szintaxist használja.Ezek az operátorok olyan feladatokat hajtanak végre, mint a szűrés, a rendelés, az elméleti műveletek beállítása és az aggregáció.Mivel ezek az operátorok a .NET -keretrendszer részét képezik, LINQ nélkül is használhatók, ha a fejlesztő így választ.