Rabu, 21 September 2011

Apa itu LINQ. . . . . . . .


Language Integrated Query(LINQ) merupakan bagian/komponen dari Microsoft .NET Framework yang menambahkan kemampuan melakukan query secara native untuk bahasa .NET. LINQ mendefinisikan sebuah set dari nama metode (disebut juga operator query standard, atau operator sekuen standard), bersama dengan aturan-aturan penerjemahan dari ekspresi query ke ekspresi menggunakan nama metode ini, ekspresi lambda dan tipe anonim. Teknologi Linq pertama kali dikenalkan oleh Anders Hejlsberg dalam Microsoft Professional Developers Conference tahun 2005. Secara singkat LINQ dapat didefinisikan sebagai sebuah metode yang “memudahkan” dan menseragamkan cara pengaksesan data ke sumber data. Sehingga dengan menggunakan LINQ, developer hanya perlu menggunakan sebuah teknik pengaksesan data saja. Dengan slogan, kita dapat menulis, “Linq-nya Satu, Datanya Banyak (baca beragam)” dengan gaya mirip iklan sebuah ATM Bank.
Untuk mencicipi fitur teknologi LINQ ini, tentu .NET Framework sudah terintal dalam komputer kita, idealnya versi .NET Framework 3.5 ke atas. Dan lebih ideal lagi, jika Microsoft Visual Studio juga terinstall hehe. Ya, jangan berkecil hati, syarat utamanya jelas .NET Framework harus terinstall. Namun, ada sebuah Tools gratis bernama LINQPAD. Dengan LinqPad, kita dapat mencoba teknologi Linq secara interaktif dan menyenangkan. Dalam LinqPad juga terdapat banyak contoh-contoh yang diambil dari buku C# 4.0 in a Nutshell. Dalam keterangannya, LinqPad lebih dari sekedar tools sederhana, ia dapat secara interaktif mengeksekusi ekspresi dan statement C#/VB, melakukan query SQL ke database, dan banyak lagi fitur-fitur pada LinqPad yang patut dicoba.

Contohnya:
-- Jika Menggunakan Perintah SQL
SELECT CompanyName, ContactName, Country
FROM Customers
 
-- Jika Menggunakan Perintah  Linq
-- Cust merupakan nama variabel bebas
-- UnderScore diperlukan untuk menyambung perintah query Linq yang pindah baris
FROM Cust IN Customers _
SELECT Cust.CompanyName, Cust.ContactName, Cust.Country
 
-- Jika Menggunakan Perintah SQL, dengan klausa WHERE dan ORDER BY
SELECT CompanyName, ContactName, Country
FROM Customers
WHERE Country = 'Germany'
ORDER BY CompanyName
 
-- Jika Menggunakan Perintah Linq, dengan klausa WHERE dan ORDER BY
-- Klausa Where dan Order By ada diantara From dan Select
FROM Cust IN Customers _
WHERE Cust.Country = "Germany" _
ORDER BY Cust.CompanyName _
SELECT Cust.CompanyName, Cust.ContactName, Cust.Country
 
-- Jika Menggunakan Perintah SQL, dengan klausa GROUP BY
SELECT Country NEGARA, COUNT(CustomerID) JUMLAH
FROM Customers
GROUP BY Country
 
-- Jika Menggunakan Perintah LinQ, dengan klausa GROUP BY
FROM cust IN Customers _
GROUP cust BY cust.Country INTO COUNT() _
SELECT Negara = Country, Jumlah = COUNT
 
-- Mengakses Array dengan Linq
Dim bil() As Integer = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Dim hasilLinq = FROM genap In bil _
                               WHERE genap Mod 2 = 0 _
                               SELECT genap
For Each num In hasilLinq
        Console.Write(num & " ")
Next

Tidak ada komentar:

Posting Komentar