Latar belakang: Selama bulan depan, saya akan memberikan tiga ceramah tentang atau setidaknya termasuk LINQ
dalam konteks C#
. Saya ingin tahu topik mana yang layak memberikan perhatian yang cukup, berdasarkan pada apa yang sulit dipahami orang, atau apa yang mereka anggap keliru. Saya tidak akan secara khusus berbicara tentang LINQ
ke SQL
atau Entity Framework kecuali sebagai contoh bagaimana query dapat dijalankan dari jarak jauh menggunakan pohon ekspresi (dan biasanya IQueryable
).
Jadi, apa yang menurut Anda sulit LINQ
? Apa yang Anda lihat dalam hal kesalahpahaman? Contohnya mungkin salah satu dari yang berikut, tapi tolong jangan membatasi diri Anda sendiri!
- Bagaimana
C#
kompiler memperlakukan ekspresi kueri - Ekspresi Lambda
- Pohon ekspresi
- Metode penyuluhan
- Jenis anonim
IQueryable
- Deferred vs eksekusi segera
- Streaming vs eksekusi buffered (mis. OrderBy ditangguhkan tetapi buffered)
- Variabel lokal yang diketik secara implisit
- Membaca tanda tangan umum yang kompleks (mis. Enumerable.Join )