Bagaimana saya melakukan ini
Select top 10 Foo from MyTable
dalam Linq ke SQL?
linq-to-sql
Ramuan Caudill
sumber
sumber
Gunakan metode Ambil :
Dalam VB, LINQ memiliki ekspresi take:
Dari dokumentasi:
sumber
Gunakan
Take(int n)
metode:sumber
OP sebenarnya menyebutkan offset juga, jadi untuk ex. jika Anda ingin mendapatkan item dari 30 hingga 60, Anda akan melakukan:
Gunakan metode "Lewati" untuk offset.
Gunakan metode "Ambil" untuk batas.
sumber
@ Janei: komentar pertama saya di sini adalah tentang sampel Anda;)
Saya pikir jika Anda suka ini, Anda ingin mengambil 4, kemudian menerapkan jenis pada 4 ini.
Berbeda dengan memilah seluruh tbl_News oleh idNews turun lalu mengambil 4
tidak ? hasilnya mungkin berbeda.
sumber
Ini bekerja dengan baik di C #
sumber
Saya suka ini:
sumber
Anda akan menggunakan metode Take (N).
sumber
Apakah take terjadi pada klien atau dalam db tergantung di mana Anda menerapkan operator take. Jika Anda menerapkannya sebelum Anda menghitung kueri (yaitu sebelum Anda menggunakannya dalam foreach atau mengubahnya menjadi koleksi), pengambilan akan menghasilkan "SQL top" operator SQL yang dikirim ke db. Anda dapat melihat ini jika Anda menjalankan SQL profiler. Jika Anda menerapkan pengambilan setelah menghitung kueri itu akan terjadi pada klien, karena LINQ harus mengambil data dari database agar Anda menghitungnya.
sumber
Mengambil data dari DataBase tanpa mengurutkan sama dengan pengambilan acak
sumber
sumber
Saya harus menggunakan metode Take (n), lalu bertransformasi menjadi daftar, Berfungsi seperti pesona:
sumber
Cara ini berhasil bagi saya:
sumber
Untuk
limit 1
menggunakan metodeFirstOrDefault()
atauFirst()
.Contoh
var y = (from x in q select x).FirstOrDefault();
sumber