Language Integrated Query (LINQ, uttalas "link") är en .NET Framework-komponent som tillhandahåller query-funktionalitet för .NET-språk med SQL-liknande syntax. Många av koncepten testades ursprungligen i det så kallade Cω (C-Omega) projektet på Microsoft Research. LINQ släpptes som en del av .NET Framework 3.5 den 19 november 2007.

LINQ definierar en mängd operatorer som kan användas för att hantera vektorer, enumererbara klasser, XML, relationella databaser och tredjeparts databaser. Detta kräver dock att datan måste vara inkapslade i objekt vilket hanteras av LINQ.

LINQ består till grunden av ett API bestående av tilläggsmetoder (extension methods) som tillhandahåller de funktioner som behövs för att skicka förfrågningar till objekt som implementerar gränssnittet IQueryable (oftast genom ICollection, i sin tur genom IEnumerable<T>).

Exempel redigera

Linq-to-objects i C#.

/* 
   Ett antal objekt finns i customers (en samlingsklass, List<Customer>).
   Filtera listan och ta de objekt vars Lastname börjar på B.
   Sortera resultaten (också efter Lastname) och returera dem
   i variabeln custs (nyckelordet var betyder att kompilatorn identifierar typen).
*/

var custs = from c in customers
                     where c.Lastname.StartsWith("B")
                     orderby c.Lastname
                     select c;


Referenser redigera