I'm yakin ini akan menjadi relatif sederhana.
Saya memiliki LINQ query yang saya ingin memesan dengan yang paling baru-baru ini dibuat tanggal.
Lihat:
var itemList = from t in ctn.Items
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
Saya juga mencoba:
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending();
tapi ini memberikan kesalahan :
Tidak ada yang berlebihan untuk metode 'OrderByDescending' mengambil argumen 0
Dari apa yang saya've baca, saya'm cukup yakin cara pertama saya've dilakukan dengan itu harus bekerja. I've mencoba mengubah turun untuk naik hanya untuk melihat jika itu tidak apa-apa tapi itu tetap sama.
I'd bersyukur jika seseorang bisa melihat query dan melihat apakah saya'm melakukan sesuatu yang salah. Terima kasih :)
Anda harus memilih Properti untuk menyortir dan lulus sebagai ekspresi lambda untuk [OrderByDescending
][1]
seperti:
.OrderByDescending(x => x.Delivery.SubmissionDate);
Benar-benar, meskipun versi pertama dari LINQ pernyataan harus bekerja. Adalah t.Pengiriman.SubmissionDate
benar-benar diisi dengan valid tanggal?
[1]: https://msdn.microsoft.com/en-us/library/bb534855(v=vs. 100).aspx "quot;Dokumentasi MSDN"
Saya pikir ini pertama gagal karena anda memesan yang memiliki nilai null. Jika Pengiriman adalah kunci asing terkait tabel maka anda harus memiliki ini tabel pertama, contoh di bawah ini:
var itemList = from t in ctn.Items.Include(x=>x.Delivery)
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
Hanya untuk menunjukkan itu dalam format yang berbeda bahwa saya lebih memilih untuk menggunakan untuk beberapa alasan: Cara pertama kembali anda itemList sebagai sebuah Sistem.Linq.IOrderedQueryable
using(var context = new ItemEntities())
{
var itemList = context.Items.Where(x => !x.Items && x.DeliverySelection)
.OrderByDescending(x => x.Delivery.SubmissionDate);
}
Pendekatan itu baik-baik saja, tapi jika anda ingin langsung ke Daftar Objek:
var itemList = context.Items.Where(x => !x.Items && x.DeliverySelection)
.OrderByDescending(x => x.Delivery.SubmissionDate).ToList();
Semua yang harus anda lakukan adalah menambahkan .Kedaftar() panggilan untuk akhir Query.
Sesuatu yang perlu diperhatikan, dari atas kepala saya, saya bisa't ingat jika !(tidak) ekspresi yang dapat diterima di Mana() call.