1
IQueryableの結果を返すこのクエリがあります。IQueryableの結果を並べ替える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()));
IはCreatedOn
カラム(datetime
)によって降順にソートされるために、これを必要とします。私はこのクエリでorderbydescending(a => a.CreatedOn)
とorderbydescending(a=> a.Key.CreatedOn)
を使用しようとしましたが、期待される結果は得られませんでした。すべての助けに感謝します。ありがとう!
編集 - 私は
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()));
を試してみましたが、何これは正しくソート
別のエラーを与える
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)));
をしようとしません。あなたは二つの列で注文したい場合は
OrderByDescendingを使用して質問を編集してください。これは動作していないため、試した内容を確認できます。 – Esko
@Esko:更新済.. – Isuru