Olen varma, että tämä on suhteellisen yksinkertainen.
Minulla on LINQ-kysely, jonka haluan järjestää viimeksi luodun päivämäärän mukaan.
Ks:
var itemList = from t in ctn.Items
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
Olen myös kokeillut:
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending();
mutta tämä antaa virheen :
Ei ylikuormitusta metodille 'OrderByDescending' ottaa 0 argumenttia.
Sen perusteella, mitä olen lukenut, olen melko varma, että ensimmäisen tavan, jolla olen tehnyt sen, pitäisi toimia. Olen yrittänyt muuttaa laskevan nousevaksi vain nähdäkseni, tekeekö se mitään, mutta se pysyy samana.
Olisin kiitollinen, jos joku voisi vilkaista kyselyä ja nähdä, teenkö jotain väärin. Kiitos :)
Sinun on valittava ominaisuus, jonka mukaan lajittelet, ja annettava se lambda-lausekkeena OrderByDescending
:lle.
kuten:
.OrderByDescending(x => x.Delivery.SubmissionDate);
Oikeasti, vaikka LINQ-lauseesi ensimmäisen version pitäisi toimia. Onko t.Delivery.SubmissionDate
todella täytetty kelvollisilla päivämäärillä?
Luulen, että tämä ensimmäinen epäonnistui, koska tilaat arvon, joka on nolla. Jos Delivery on vierasavaintaulukkoon liittyvä taulukko, sinun pitäisi sisällyttää tämä taulukko ensin, esimerkki alla:
var itemList = from t in ctn.Items.Include(x=>x.Delivery)
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;