LINQ merupakan singkatan dari Language Integrated Query. LINQ merupakan fitur yang sudah ada sejak .Net Framework v3.5
Perbedaan LINQ dengan Query adalah : LINQ selain bisa melakukan query pada database juga dapat melakukan query terhadap data dalam format XML, Entities, Object dan sebagainya.
LINQ bisa dikatakan secara singkat konsep sama dengan ODBC yang menjadi jembatan dalam mengakses database dalam berbagi format. LINQ menjadi jembatan perantara dalam mengakses berbagai format struktur data. Selama format data mendukung itu IEnumerable Type maka LINQ dapat melakukan query kedalamnya.
Arsitektur LINQ
Jika dilihat dari arsitektur global LINQ dapat digunakan untuk melakukan query kedalam beberapa format data berikut :
- LINQ to Object : sumber data dari IENumerable dan IQueryable generic collection
- LINQ to DataSet : sumber data dari IENumerable Datarow
- LINQ to SQL :
- LINQ to Entity :
- LINQ to XML : sumber data dari IENumerable Xelement
Penggunaan LINQ :
Tanpa kondisi
Dim aKata() As String={"VB .Net ","C#","Visual Studio","Query","LINQ"}
Dim LINQ = From item In aKata Select item
For Each k In LINQ
Console.WriteLine(k)
Next
Dengan menggunakan Where
Dim aNumbers() As Integer = {0, 1, 2, 3, 4, 5, 6}
Dim LINQ = From num In aNumbers Where num Mod 2 = 0 Select num
For Each number In LINQ
Console.Write(number & " ")
Next
Dengan menggunakan Order
Dim aData() As Char = {"B", "D", "C", "A", "F", "E", "G"}
Dim LINQ = From item In aData _
Order By item _
Select item
For Each item In LINQ
Console.Write(item & " ")
Next
Teknologi LINQ diperkenalkan pertama kali oleh Anders Hejlsberg dalam Microsoft Profesional Developers Conference (PDC) tahun 2005, dengan tujuan adalah membuat standarisasi dan memudahkan pattern proses pengaksesan data. Dengan adanya standart pengaksesan data maka para developer/programmer dapat melakukan cara yang sama dalam memproses beberapa format data ( Database, XML ataupun Collection data object )
Berikut contoh penerapannya pada Visual Basic .Net
ini script Visual Basic .net untuk menampilkan data ke ListBox
Dim pelajaran() As String = {"Matematika", "Fisika", "Sejarah", "Olahraga", "Kesenian", "Komputer"}
ListBox1.Items.Clear()
For Each strPelajaran In pelajaran
If strPelajaran.StartsWith("P") Then
ListBox1.Items.Add(strPelajaran)
End If
Next
dengan LINQ :
Dim pelajaran() As String = {"Matematika", "Fisika", "Sejarah", "Olahraga", "Kesenian", "Komputer"}
ListBox1.Items.Clear()
Dim linqPelajaran As IEnumerable(Of String) = From namaPelajaran In pelajaran Select namaPelajaran Where namaPelajaran.StartsWith("P")
For Each strPelajaran In pelajaran
ListBox1.Items.Add(strMakanan)
Next
Contoh lain denga n LINQ :
Dim bilangan() As Integer = {10, 12, 52, 32, 41, 75, 8, 88, 98, 72, 55, 21, 66, 33, 44, 41}
Dim bilGanjil As IEnumerable(Of Integer) = From bilGanjil In bilangan _
Select bilGanjil Where (bilGanjil Mod 2 = 1)
For Each ganjil In bilGanjil
ListBox1.Items.Add(ganjil)
Next
Catatan : Bisa juga membaca :artikel dibawah ini untuk