Kombinerer ulike datakilder med Linq

Anders Hejlsberg i Microsoft står bak Linq, en av de viktigste nyhetene i neste Visual Studio.

Microsoft annonserte allerede i fjor teknologien selskapet kaller Language Integrated Query (LINQ), et sett med utvidelser til språk som Visual Basic og Visual C# som først og fremst gjør relasjonsdatabaser til en mer integrert del av .NET. Med LINQ kan utviklere skrive spørringer til en relasjonsdatabase uten å måtte kunne SQL.

Det betyr likevel ikke at kjenskap til SQL ikke er en fordel. LINQ åpner også for å lage SQL-lignede spørringer hvor ikke bare relasjonsdatabaser, men også XML-data og objekter kan inkluderes i spørringene.

Bak LINQ står først og fremst Anders Hejlsberg, technical fellow i Microsoft. I forbindelse med en tale under Tech-Net Developer-konferansen som arrangeres i Barcelona denne uken, demonstrerte Hejlsberg noen av muligheten ved LINQ.

Hejlsberg laget, ved hjelp av relativt få linjer med kode, en webutgave av oppgavelisten i Windows. Sentralt i denne løsningen var bruken av LINQ.

query = from p in Process.GeProcesses()
where p.Workingset >=4 * 1024 *1024
orderby pWorkingSet descending
select new {p.ProcessName, p.WorkingSet};

Koden over viser hvordan man ved hjelp av en SQL-lignende syntaks kan lage en spørring i objektdataene som inneholder informasjon om prosessene i Windows.

Deretter la Hejlberg til en ny kolonne med beskrivelser av prosessene, basert på prosessenes navn. Disse beskrivelsene lå i en separat database, og ble hentet inn ved hjelp av en vanlig subselect-spørring mot databaseobjektet. Dermed innehold hver av radene i resultatet tre kolonner, prosessnavnet, WorkingSet-nummeret og en beskrivelse av prosessen. Funksjonaliteten som henter databasedataene, kalles for Linq2SQL.

Ved hjelp av et par kodelinjer til, ble rad skrevet ut i en tabell på en webside.

LINQ vil først bli tilgjengelig i neste utgave av Visual Studio, som foreløpig kalles Orcas. Denne kommer trolig neste år, ifølge Prashant Sridharan, group product manager i Microsofts utviklerdivisjon. Han vil dog ikke si særlig annet om lanseringen enn at den kommer etter Windows Vista.

    Les også:

Til toppen