Prepričan sem, da bo to razmeroma preprosto.
Imam poizvedbo LINQ, ki jo želim razvrstiti po datumu zadnjega ustvarjanja.
Glej:
var itemList = from t in ctn.Items
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
Poskusil sem tudi:
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending();
vendar se pri tem pojavi napaka :
Ni preobremenitve za metodo 'OrderByDescending' ima 0 argumentov
Glede na to, kar sem prebral, sem prepričan, da bi prvi način, ki sem ga naredil, moral delovati. Poskušal sem spremeniti padajoče v naraščajoče, da bi videl, ali to kaj naredi, vendar je ostalo enako.
Hvaležen bi bil, če bi kdo pogledal poizvedbo in ugotovil, ali delam kaj narobe. Hvala :)
Izbrati morate lastnost za razvrščanje in jo kot izraz lambda posredovati OrderByDescending
kot:
.OrderByDescending(x => x.Delivery.SubmissionDate);
Resnično bi morala delovati prva različica vaše izjave LINQ. Ali je t.Delivery.SubmissionDate
dejansko izpolnjen z veljavnimi datumi?
Mislim, da to najprej ni uspelo, ker naročate vrednost, ki je nič. Če je tabela Delivery povezana s tujim ključem, morate najprej vključiti to tabelo, primer spodaj:
var itemList = from t in ctn.Items.Include(x=>x.Delivery)
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
Mislim, da bi moral biti drugi stavek
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending(c => c.Delivery.SubmissionDate);