Saya punya permintaan LINQ:
var list = from t in ctn.Items
where t.DeliverySelection == true && t.Delivery.SentForDelivery == null
orderby t.Delivery.SubmissionDate
select t;
Bagaimana saya bisa memodifikasi kueri ini untuk memilih hanya lima hasil dari database?
Jawaban:
sumber
take
hanya 5 baris pertama dari database?Solusinya:
sumber
Ini juga dapat dicapai dengan menggunakan pendekatan berbasis Linda Lambda;
sumber
[Menawarkan jawaban yang agak lebih deskriptif daripada jawaban yang diberikan oleh @Ajni .]
Ini juga dapat dicapai dengan menggunakan sintaks LINQ yang lancar :
Perhatikan bahwa setiap metode (
Where
,OrderBy
,Take
) yang muncul dalam pernyataan LINQ ini membutuhkan ekspresi lambda sebagai argumen. Perhatikan juga bahwa dokumentasi untukEnumerable.Take
dimulai dengan:sumber
Additional information
Kadang-kadang perlu untuk mengikat model menjadi model tampilan dan memberikan kesalahan konversi tipe . Dalam situasi ini Anda harus menggunakan
ToList()
metode.sumber
Hanya berpikir Anda mungkin merasa asing dengan urutan From-> Where-> Select, seperti dalam skrip sql, itu seperti Select-> From-> Where.
Tapi Anda mungkin tidak tahu bahwa di dalam Mesin Sql, itu juga diuraikan dalam urutan ' Dari-> Di mana-> Pilih ', Untuk memvalidasi itu, Anda dapat mencoba skrip sederhana
dan itu tidak akan berfungsi, alasannya adalah mesin akan mengurai Dimana sebelum Pilih , sehingga tidak akan tahu alias saya di mana . Untuk membuat ini bekerja, Anda dapat mencoba
sumber