2017-02-16 2 views
1

Ich habe diese Abfrage, die ein IQueryable-Ergebnis zurückgibt.Sortierung eines IQueryable-Ergebnisses Linq

return supplierInvoices.Union(otherInvoices.Join(orders, invoice => invoice.OrderId, order => order.Id, (invoice, order) => new { Order = order, Invoice = (invoice as IReconcilableInvoiceEntity) })) 
      .GroupBy(m => m.Order) 
      .Where(m => m.Any()) 
      .Select(m => new KeyValuePair<Order, IQueryable<IReconcilableInvoiceEntity>>(m.Key, m.Select(n => n.Invoice).AsQueryable())); 

ich diese müssen in absteigender Reihenfolge nach CreatedOn Spalte (datetime) sortiert werden. Ich habe versucht, orderbydescending(a => a.CreatedOn) und orderbydescending(a=> a.Key.CreatedOn) mit dieser Abfrage zu verwenden, aber immer noch nicht das erwartete Ergebnis zu geben. Alle Hilfe wird geschätzt. Vielen Dank!

Bearbeiten - Was ich

return supplierInvoices.Union(otherInvoices.Join(orders, invoice => invoice.OrderId, order => order.Id, (invoice, order) => new { Order = order, Invoice = (invoice as IReconcilableInvoiceEntity) })) 
      .GroupBy(m => m.Order) 
      .Where(m => m.Any()) 
      .OrderByDescending(m => m.Key.CreatedOn) 
      .Select(m => new KeyValuePair<Order, IQueryable<IReconcilableInvoiceEntity>>(m.Key, m.Select(n => n.Invoice).AsQueryable())); 

versucht haben, sortieren Das nicht richtig

Ein weiterer Versuch

return supplierInvoices.Union(otherInvoices.Join(orders, invoice => invoice.OrderId, order => order.Id, (invoice, order) => new { Order = order, Invoice = (invoice as IReconcilableInvoiceEntity) })) 
      .GroupBy(m => m.Order) 
      .Where(m => m.Any()) 
      .Select(m => new KeyValuePair<Order, IQueryable<IReconcilableInvoiceEntity>>(m.Key, m.Select(n => n.Invoice).AsQueryable().OrderByDescending(m => m.CreatedOn))); 

, die einen Fehler gibt.

+1

Bearbeiten Sie die Frage mit dem OrderByDescending, die nicht funktioniert, damit wir sehen können, was Sie versucht haben. – Esko

+0

@Esko: Aktualisiert .. – Isuru

Antwort

1

Wenn Sie mit zwei Spalten bestellen möchten, dann können Sie mit "OrderByDescending (a => a.column1)", gefolgt von "ThenBy (a => a.column2)" gewünschte Ergebnis zu erhalten.

Verwandte Themen