Gambaran
Salah satu hal yang banyak saya tanyakan di situs ini adalah LINQ . Pertanyaan yang saya ajukan sangat luas dan beragam dan seringkali tidak memiliki banyak konteks di belakangnya. Jadi dalam upaya untuk mengkonsolidasikan pengetahuan yang saya peroleh di Linq, saya memposting pertanyaan ini dengan tujuan untuk memelihara dan memperbaruinya dengan informasi tambahan saat saya terus belajar tentang LINQ.
Saya juga berharap ini akan terbukti menjadi sumber yang berguna bagi orang lain yang ingin belajar tentang LINQ.
Apa itu LINQ?
Dari MSDN :
Proyek LINQ adalah nama kode untuk satu set ekstensi ke .NET Framework yang mencakup kueri, set, dan transformasi operasi yang terintegrasi dengan bahasa. Itu memperluas C # dan Visual Basic dengan sintaks bahasa asli untuk kueri dan menyediakan perpustakaan kelas untuk mengambil keuntungan dari kemampuan ini.
Ini artinya LINQ menyediakan cara standar untuk menanyakan berbagai sumber data menggunakan sintaksis umum.
Apa rasa LINQ yang ada?
Saat ini ada beberapa penyedia LINQ yang disediakan oleh Microsoft:
- Linq to Objects yang memungkinkan Anda untuk mengeksekusi query pada objek IEnumerable.
- Linq to SQL yang memungkinkan Anda untuk mengeksekusi query terhadap database dengan cara yang berorientasi objek.
- Linq to XML yang memungkinkan Anda untuk melakukan query, memuat, memvalidasi, membuat serial dan memanipulasi dokumen XML.
- Linq to Entities seperti yang disarankan oleh Andrei
- Linq ke Dataset
Ada beberapa yang lain, banyak yang terdaftar di sini .
Apa manfaatnya?
- Cara standar untuk menanyakan beberapa sumber data
- Kompilasi keamanan waktu dari pertanyaan
- Cara yang dioptimalkan untuk melakukan operasi berbasis set pada objek memori
- Kemampuan untuk men-debug kueri
Jadi apa yang bisa saya lakukan dengan LINQ?
Chook menyediakan cara untuk menampilkan file CSV.
Jeff menunjukkan cara menghapus duplikat dari array.
Bob mendapat daftar urutan berbeda dari
Marxat yang dapat didatangkan menunjukkan cara mengurutkan array.
Dana mendapat bantuan menerapkan Quick Sort Menggunakan Linq
Mulai dari mana?
Ringkasan tautan dari pertanyaan GateKiller adalah di bawah ini :
Scott Guthrie memberikan pengantar untuk Linq di blog-nya
. Tinjauan umum LINQ di MSDN
ChrisAnnODell menyarankan untuk memeriksa:
Apa yang saya perlukan untuk menggunakan LINQ?
Linq saat ini tersedia dalam VB.Net 9.0 dan C # 3.0 sehingga Anda akan membutuhkan Visual Studio 2008 atau lebih besar untuk mendapatkan manfaat penuh. (Anda selalu bisa menulis kode di notepad dan kompilasi menggunakan MSBuild)
Ada juga alat bernama LinqBridge yang akan memungkinkan Anda untuk menjalankan permintaan Linq seperti di C # 2.0.
Kiat dan trik menggunakan LINQ
Pertanyaan ini memiliki beberapa cara rumit untuk menggunakan LINQ
Jawaban:
LINQ ke entitas:
Saya memiliki lebih banyak lagi yang saya tandai di Delicious.com .
sumber
Sebutkan LINQ ke Entitas karena ADO.NET Entity Framework akan menjadi modul .NET yang penting.
sumber
Dapatkan buku Linq Beraksi itu adalah bacaan yang mudah untuk buku kode dan benar-benar mengajarkan Anda cara menggunakan Linq dan fitur baru. NET 3.5 beberapa bagian keren yang mereka masukkan untuk bahasa.
sumber
Beberapa Tip LINQ:
http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp
sumber
IMHO, manfaat yang diabaikan, tetapi penting, adalah efisiensi pengkodean LINQ, misalnya berapa banyak yang dapat dicapai dengan kode yang sangat sedikit. Saya pribadi menemukan sintaks query yang mudah dibaca dan dipahami.
sumber
Beberapa peringatan tentang penggunaan LINQ ke SQL :
Apakah Microsoft benar-benar membunuh LINQ ke SQL?
Apakah LINQ ke SQL DOA?
Ada juga beberapa kontroversi tentang versi pertama Kerangka Entitas , termasuk petisi .
sumber
Saya pikir, jawaban untuk "Apa rasa LINQ ada di sana?" tidak lengkap. Pertama-tama, Anda bisa membuat "rasa" sendiri. Ya, ini adalah tugas lanjutan, tetapi ada banyak implementasi LINQ yang berbeda sekarang.
Berikut adalah daftar penyedia LINQ yang ada (ditambah beberapa sumber daya lain untuk mempelajari LINQ) di blog Charlie Calvert: Tautan ke LINQ .
Dan juga ada serangkaian posting blog yang luar biasa dari Matt Warren tentang cara membuat Penyedia LINQ Anda sendiri: LINQ: Membangun seri penyedia yang dapat di IQueryable
sumber
2 sen saya, Baca bab "11 ekspresi Query dan LINQ to Objects" dan "12 LINQ di luar koleksi" di buku "C # in Depth" untuk memahami cara kerja LINQ.
sumber
Untuk Praktek Linq
Jika Anda ingin latihan di LINQ dengan latihan dan jawaban, sangat mudah diatur dan, menurut saya, mengagumkan:
https://github.com/walkhard/linq-exercises
Unduh dari git, buka di Visual Studio. Tugas Anda adalah membuat tes lulus.
[pengungkapan: saya belajar beberapa linq dari itu dan saya berkontribusi pada proyek jadi ya saya pikir itu cara yang mengagumkan, cepat dan efisien untuk belajar.]
sumber