Artikel tentang LINQ



Apa itu LINQ?
LINQ kepanjangan dari Language Integrated Query adalah keyword baru pada C# dan VB yang diperkenalkan pada .NET versi 3.5. LINQ berupa query expression seperti from, where, select yg biasa ditemui pada bahasa SQL. Dengan menggunakan LINQ, anda dapat melakukan query ke berbagai macam data seperti ke database SQL Server (LINQ to SQL), ke object DataSet (LINQ to DataSet), ke entity (LINQ to Entity Framework), data XML (LINQ to XML) dan masih banyak lagi.
Jadi dengan LINQ kita lebih mudah mengquery suatu data (baik database maupun data dalam array atau koleksi dari objek) menggunakan keyword yang sudah disediakan. Keyword query operator yang dapat digunakan dalam LINQ kira-kira ada 40 macam.
 
Sebelum ada LINQ untuk mengakses objek-objek seperti array, koleksi, database, dan XML anda membutuhkan teknik sendiri, misal untuk mengakses database anda harus menggunakan bahasa SQL, untuk mengakses XML digunakan XPath atau XQuery tapi dengan menggunakan LINQ objek yang berbeda-beda tersebut dapat di query dengan teknik yang sama yaitu LINQ.
Arsitektur LINQ

Dari gambar di atas, dapat dilihat bahwa LINQ dapat mengakses data source dari berbagai sumber:
  1. LINQ to Objects, sumber data dari IENumerable dan IQueryable generic collection. 
Queries dalam LINQ untuk Objects kembali variabel jenis biasanya IEnumerable <T> saja. Singkatnya, LINQ untuk Objects menawarkan pendekatan segar untuk koleksi seperti sebelumnya, itu penting untuk menulis kode panjang (loop foreach dari banyak kompleksitas) untuk pengambilan data dari koleksi yang sekarang diganti dengan menulis kode deklaratif yang jelas menggambarkan data yang diinginkan yang diperlukan untuk mengambil.

Ada juga banyak keuntungan dari LINQ untuk Objects lebih loop foreach tradisional seperti lebih mudah dibaca, penyaringan yang kuat, kemampuan pengelompokan, ditingkatkan memesan dengan aplikasi minimal coding. query LINQ seperti juga lebih kompak di alam dan portabel untuk setiap sumber data lain tanpa modifikasi apapun atau hanya dengan sedikit modifikasi.
  1. LINQ to XML, sumber data dari IENumerable Xelement.
Saat menggunakan LINQ untuk XML, memuat dokumen XML ke dalam memori mudah dan lebih mudah adalah quering dan modifikasi dokumen. Hal ini juga memungkinkan untuk menyimpan dokumen XML yang ada di memori ke disk dan cerita bersambung mereka. Ini menghilangkan kebutuhan untuk pengembang untuk belajar bahasa query XML yang somwhat kompleks.

LINQ untuk XML memiliki kekuatan dalam namespace System.Xml.Linq. Ini memiliki semua 19 kelas yang diperlukan untuk bekerja dengan XML. Kelas-kelas ini adalah orang-orang berikut.
·         XAttribute
·         XCData
·         XComment
·         XContainer
·         XDeclaration
·         XDocument
·         XDocumentType
·         XElement
·         XName
·         XNamespace
·         XNode
·         XNodeDocumentOrderComparer
·         XNodeEqualityComparer
·         XObject
·         XObjectChange
·         XObjectChangeEventArgs
·         XObjectEventHandler
·         XProcessingInstruction
·         XText
  1. LINQ to Dataset, sumber data dari IENumerable Datarow
LINQ untuk Dataset telah membuat tugas query sederhana untuk para pengembang. Mereka tidak perlu menulis query dalam bahasa query tertentu bukan sama dapat ditulis dalam bahasa pemrograman. LINQ untuk Dataset juga dapat digunakan untuk query dimana data konsolidasi dari berbagai sumber data. Ini juga tidak memerlukan penyedia LINQ seperti LINQ untuk SQL dan LINQ untuk XML untuk mengakses data dari dalam koleksi memori.

Contoh sederhana dari LINQ untuk Dataset permintaan di mana sumber data pertama diperoleh dan kemudian dataset diisi dengan dua tabel data. Sebuah hubungan didirikan antara kedua tabel dan query LINQ dibuat terhadap kedua tabel dengan cara bergabung klausa. Akhirnya, foreach loop digunakan untuk menampilkan hasil yang diinginkan.
  1. LINQ to SQL, sumber data dari IENumerable dan IQueryable dan setiap object yang kita tentukan sendiri sebagai represent data dari SQL tabel.
LINQ untuk SQL menawarkan infrastruktur (run-time) untuk pengelolaan data relasional sebagai objek. Ini adalah komponen dari versi 3.5 dari Framework dan cakap melakukan terjemahan dari bahasa query terintegrasi dari model objek ke SQL. pertanyaan ini kemudian dikirim ke database untuk tujuan eksekusi. Setelah mendapatkan hasil dari database, LINQ untuk SQL lagi menerjemahkannya ke objek.

Untuk sebagian besar pengembang ASP.NET, LINQ untuk SQL (juga dikenal sebagai DLINQ) merupakan bagian electrifying dari Query Langauage Terpadu karena ini memungkinkan data quering di server database SQL dengan menggunakan ekspresi LINQ biasa. Hal ini juga memungkinkan untuk memperbarui, menghapus dan memasukkan data, tetapi satu-satunya kelemahan dari yang menderita adalah keterbatasan untuk database SQL Server. Namun, ada banyak manfaat dari LINQ to SQL lebih ADO.NET seperti mengurangi kompleksitas, beberapa baris coding dan banyak lagi.

Di bawah ini adalah diagram yang menunjukkan arsitektur eksekusi LINQ untuk SQL. 


Keunggulan LINQ
  1.  LINQ terintegrasi otomatis pada bahasa pemrograman, dalam hal ini adalah C# dan Visual Basic sehingga memiliki sintaks highlinghting dan intellisense bahkan kita bisa mendebug query kita dengan debugger yang sudah terintegrasi dengan Visual Studio.
  2. Penggunaan kode jauh lebih simple dan lebih cepat dibandingkan dengan cara lama seperti ADO.NET .
  3. Dengan menggunakan LINQ, kita bisa dengan mudah melihat hubungan antar table, bahkan kita bisa dengan mudah membuat query untuk menggabungkan beberapa table. Melihat hubungan antara dua tabel dengan mudah dengan LINQ karena fitur hirarkis dan ini memungkinkan pertanyaan menyusun bergabung beberapa tabel dalam waktu kurang
  4. Transformasi data jauh lebih mudah, misalnya kita bisa meng-convert Sql data kedalam XML data.
  5. LINQ menawarkan sintaks yang membuktikan bermanfaat untuk mengetahui kesalahan selama waktu desain.
  6. LINQ menawarkan IntelliSense yang berarti menulis query yang lebih akurat mudah.
  7. Menulis kode cukup cepat di LINQ dan dengan demikian waktu pengembangan juga akan berkurang secara signifikan.
  8. LINQ membuat debugging mudah karena integrasi dalam bahasa C #.
  9. LINQ memungkinkan penggunaan sintaks LINQ tunggal sementara query banyak sumber data yang beragam dan ini terutama karena pondasi unitive nya.
  10. LINQ adalah extensible yang berarti adalah mungkin untuk menggunakan pengetahuan LINQ untuk query jenis sumber data baru.
  11. LINQ menawarkan fasilitas bergabung dengan beberapa sumber data dalam satu query serta memecahkan permasalahan-permasalahan yang kompleks menjadi satu set pertanyaan yang singkat dan mudah untuk debug.
  12. LINQ menawarkan transformasi mudah untuk konversi dari satu tipe data yang lain seperti mengubah data SQL data XML.
Syntax LINQ
Ada dua sintaks LINQ sebagai berikut.
·         Lamda (Metode) Sintaks
Contoh

·         Query (Pemahaman) Sintaks
Contoh 

Contoh Query LINQ


LINQ ASP.NET
Sebagai satu set ekstensi NET framework, LINQ adalah mekanisme yang lebih disukai untuk akses data oleh pengembang ASP.NET. ASP.NET 3.5 memiliki alat kontrol LinqDataSource built-in yang memungkinkan penggunaan LINQ mudah di ASP.NET. ASP.NET menggunakan kontrol yang disebutkan di atas sebagai sumber data. proyek kehidupan nyata sebagian besar mencakup situs atau jendela aplikasi dan untuk memahami lebih baik konsep LINQ dengan ASP.NET.

LinqDataSource CONTROL
Hal ini dimungkinkan untuk UPDATE, INSERT dan DELETE data dalam halaman website ASP.NET dengan bantuan kontrol LinqDataSource. Sama sekali tidak ada kebutuhan untuk spesifikasi perintah SQL sebagai LinqDataSource kontrol mempekerjakan dibuat secara dinamis perintah untuk operasi tersebut.

Kontrol memungkinkan pengguna untuk menggunakan LINQ di halaman web ASP.NET nyaman dengan pengaturan properti dalam teks markup. LinqDataSource sangat mirip dengan kontrol seperti SqlDataSource serta ObjectDataSource karena dapat digunakan dalam mengikat lainnya ASP.NET kontrol hadir pada halaman ke sumber data. Jadi, kita harus memiliki database untuk menjelaskan berbagai fungsi dipanggil oleh Control LinqDataSource.

REFERENCES
http://www.w3ii.com/id/linq/linq_asp.net.html

Komentar

Postingan populer dari blog ini

download free rs2xml

Makalah Etika Politik Berdasarkan Pancasila