LINQ je známý jako Language Integrated Query a je prezentován v .NET 3.5 a Visual Studiu 2008. Excelentnost LINQ spočívá v tom, že umožňuje jazykům .NET (jako C#, VB.NET atd.) vytvářet dotazy obnovit informace ze zdroje informací. Program může například získat data ze záznamů o studiu nebo se dostat k záznamům pracovníků a tak dále. V předchozích letech byly takové informace umístěny v jiné sadě dat než aplikace a opravdu se chcete naučit různé druhy dotazovacího jazyka, abyste získali přístup k takovému druhu informací, jako je SQL, XML a tak dále. A navíc nemůžete položit otázku pomocí jazyka C# nebo jiného jazyka .NET.
výhody a nevýhody technologie
K překonání takových problémů vytvořil Microsoft LINQ. Připojuje ještě jednu kapacitu k dialektům C# nebo .NET a vytváří otázku pro jakýkoli životaschopný informační zdroj LINQ. A co víc, nejlepší na tom je, že struktura vět použitá k vytvoření otázky je podobná bez ohledu na to, jaký druh informačního zdroje se používá, což znamená, že gramatika dotazování na informace v sadě sociálních dat je stejná jako gramatika použitá k vytváření informací o otázkách. po uložení do klastru existuje přesvědčivý důvod, proč je potřeba použít SQL nebo nějakou jinou komponentu jazyka než .NET. LINQ můžete rovněž využít s SQL, s XML záznamy, s ADO.NET, s webovou administrací a s nějakou další informační bází.
V C# je LINQ k dispozici v System. Jmenný prostor Linq. Poskytuje různé druhy tříd a technik, které podporují otázky LINQ. V tomto jmenném prostoru:
- Třída Enumerable obsahuje standardní operátor dotazu, který pracuje na objektu, který spouští IEnumerable.
- Třída queryable obsahuje standardní administrátory dotazů, kteří pracují na objektu, který spouští IQueryable.
Například : SQL je strukturovaný dotazovací jazyk, který se používá k ukládání a obnově dat z databáze. Podobně je LINQ strukturou organizované věty dotazu. LINQ je základní C#. Používá se k obnově informací z různých druhů zdrojů, například XML, dokumenty, kolekce, ADO.Net DataSet, Web Service, MS SQL Server a různé databázové servery.
Použití LINQ
- Primárním důvodem pro vytvoření LINQ je, že před C# 3.0 jsme používali smyčku for, pro každou smyčku nebo delegáty k procházení kolekcí, abychom vystopovali konkrétní objekt, ale nevýhodou použití těchto strategií pro nalezení objektu je, že opravdu chcete vytvořte obrovské množství kódu, abyste našli objekt, což je navíc únavné a váš program bude méně přehledný. Abychom tyto problémy překonali, je představen LINQ, který odehrává podobnou aktivitu v několika množstvích řádků a činí váš kód jasným; navíc můžete podobný kód zapojit do různých projektů.
- Navíc poskytuje úplnou kontrolu řazení v době kompilace. Pomáhá nám s rozlišením chyb za běhu, takže je nepochybně můžeme odstranit.
- LINQ je přímočarý, velmi uspořádaný a jazyk na významné úrovni než SQL
- LINQ můžete také použít s polem a kolekcemi C#. Poskytuje vám další návod, jak se účinným způsobem postarat o staré problémy.
- S pomocí LINQ můžete bezpochyby pracovat se zdroji dat, jako jsou XML, SQL, entity, objekty a tak dále. Jediný dotaz může pracovat s databází, přesvědčivý důvod je potřeba se naučit různé druhy jazyků.
- LINQ podporuje výraz dotazu, anonymní typy, implicitně typované proměnné, výrazy lambda, inicializátory objektů a kolekcí a metody rozšíření.
LINQ dotazy můžeme použít dvěma způsoby
Struktura syntaxe dotazu LINQ se skládá z klíčových slov dotazu, která jsou charakterizována do ztvárnění .NET System 3.5 nebo vyšší. To umožňuje softwarovému inženýrovi nebo vývojářům skládat pokyny velmi podobně jako návrh SQL v kódu (C# nebo VB.NET) bez použití sazeb. Je to podobně známé ve světle skutečnosti, že otázka Artikulační gramatika. V LINQ můžete sestavit dotaz na informační zdroje IEnumerable nebo IQueryable s využitím následujících strategií:
1. Syntaxe dotazu:
Syntaxe dotazovacího jazyka LINQ začíná klíčovým slovem od a končí klíčovým slovem Select nebo GroupBy. Po klíčovém slově můžete využít různé druhy operací standardního dotazu, jako je seskupování, filtrování a tak dále, podle vaší potřeby. V LINQ je přístupných 50 jedinečných druhů správců standardních otázek.
Kroky pro zápis syntaxe Query:
Krok 1: V prvním kroku musíme do kódu přidat jmenný prostor System.Linq.
i.e., using System.Linq;
Krok 2: Ve druhém kroku musíme vytvořit zdroj dat, na kterém máme operace provádět
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
Krok 3: Ve třetím kroku musíme vytvořit dotaz na zdroj dat pomocí klíčového slova jako select, from atd.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Zde r je proměnná dotazu, která ukládá výsledek artikulace dotazu. Klauzule formuláře se používá k určení zdroje informací, tj. seznamu, kde podmínka platí pro kanál, tj. l.Contains('Hii') a příkaz select udává druh přinášených věcí. Dále je l proměnná dosahu.
Krok 4: Posledním krokem je provedení dotazu pomocí smyčky for every.
EX: foreach(var i in r) { Console.WriteLine(i); }
Příklad programu na syntaxi Query:
// 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); } } }
Výstup:
2. Syntaxe metody
V LINQ se syntaxe metody používá k volání metody rozšíření pro statické třídy Enumerable nebo Queryable. Nazývá se také Syntaxe rozšíření metody nebo Fluent. Nehledě na to, že kompilátor obecně změní syntaxi dotazu ve struktuře syntaxe metody v době kompilace. Může vyvolat standardní operátor Query jako Where, Join, Max, Min, Avg, GroupBy Select a tak dále. Můžete je volat přímočaře bez použití syntaxe Query.
Krok 1: V prvním kroku musíme do kódu přidat jmenný prostor System.Linq.
i.e., using System.Linq;
Krok 2: Ve druhém kroku musíme vytvořit zdroj dat, na kterém máme operace provádět
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
Krok 3: Nyní vytvořte dotaz pomocí metod poskytovaných statickými třídami Enumerable nebo Queryable
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Zde r je proměnná dotazu, která ukládá výsledek artikulace dotazu. Klauzule formuláře se používá k určení zdroje informací, tj. seznamu, kde podmínka platí pro kanál, tj. l.Contains('Hii') a příkaz select udává druh přinášených věcí. Dále je l proměnná dosahu.
Krok 4: Posledním krokem je provedení dotazu pomocí smyčky for every.
EX: foreach(var i in r) { Console.WriteLine(i); }
Příklad programu o syntaxi metody:
nudný průměr
// 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); } } }
Výstup:
Výhody LINQ
- Klient se nemusí učit nové dotazovací jazyky pro alternativní typ formátu dat nebo zdroj dat.
- Zvyšuje srozumitelnost kódu.
- Dotaz lze znovu použít.
- Poskytuje kontrolu typu objektu v době montáže.
- Poskytuje IntelliSense konvenčním sbírkám.
- Obvykle se používá s kolekcemi nebo poli.
- LINQ podporuje řazení, seskupování, filtrování a řazení.
- Díky tomu je ladění jednoduché, protože je koordinováno s jazykem C#.
- Poskytuje přímou změnu, která naznačuje, že můžete bez pochyby změnit více než jeden datový typ na jiný datový typ, jako je změna dat SQL na data XML.