Anonymous
C# linq включить OrderBy
Сообщение
Anonymous » 17 июл 2024, 09:57
Мне нужна помощь в сортировке данных по включенным данным. В приведенном ниже примере я возвращаю заказ на покупку, в котором хочу отсортировать позиции заказа на покупку по идентификатору позиции.
Код: Выделить всё
return await context.PurchaseOrders
.Where(x => x.PurchaseOrderNumber == PurchaseOrderNumber)
.Include(x => x.PurchaseOrderLineItems.OrderBy(x => x.LineItemId))
.ProjectTo
(mapper.ConfigurationProvider)
.SingleOrDefaultAsync();
Возвращаемые данные выглядят следующим образом
Код: Выделить всё
{
"purchaseOrderId": 1,
"purchaseOrderNumber": 10776,
"supplierNumber": "86087319",
"supplierName": "SANOFI AVENTIS HEALTHCARE PTY LTD",
"storeNumber": 101,
"departmentId": 10,
"orderDate": "2019-02-27",
"deliverBy": "2019-03-13",
"created": "2024-07-08T08:17:28.0300376",
"orderTotal": 123748.02,
"orderStatus": "Open",
"receivedStatus": null,
"purchaseOrderLineItems": [
{
"lineItemId": 10,
"purchaseOrderId": 1,
"productId": "CW_2477705",
"productDescription": "Essentials Barrier Cream 300g Jar",
"uom": "Each",
"quantity": 204,
"unitPrice": 6.63,
"lineTotal": 1352.52,
"gstPercentage": 10.0,
},
{
"lineItemId": 8,
"purchaseOrderId": 1,
"productId": "CW_2478048",
"productDescription": "Essentials Barrier Cream 75g Tube",
"uom": "Each",
"quantity": 240,
"unitPrice": 3.35,
"lineTotal": 804.0,
"gstPercentage": 10.0,
},
{
"lineItemId": 16,
"purchaseOrderId": 1,
"productId": "CW_2480590",
"productDescription": "Selsun Blue Replenishing Anti Dandruff Shampoo",
"uom": "Each",
"quantity": 2160,
"unitPrice": 4.63,
"lineTotal": 10000.8,
"gstPercentage": 10.0,
}
]
}
Похоже, что OrderBy в следующей строке не работает
Код: Выделить всё
.Include(x => x.PurchaseOrderLineItems.OrderBy(x => x.LineItemId))
Есть идеи, как решить эту проблему?
Спасибо за помощь.
Подробнее здесь:
https://stackoverflow.com/questions/787 ... de-orderby
1721199463
Anonymous
Мне нужна помощь в сортировке данных по включенным данным. В приведенном ниже примере я возвращаю заказ на покупку, в котором хочу отсортировать позиции заказа на покупку по идентификатору позиции. [code]return await context.PurchaseOrders .Where(x => x.PurchaseOrderNumber == PurchaseOrderNumber) .Include(x => x.PurchaseOrderLineItems.OrderBy(x => x.LineItemId)) .ProjectTo (mapper.ConfigurationProvider) .SingleOrDefaultAsync(); [/code] Возвращаемые данные выглядят следующим образом [code]{ "purchaseOrderId": 1, "purchaseOrderNumber": 10776, "supplierNumber": "86087319", "supplierName": "SANOFI AVENTIS HEALTHCARE PTY LTD", "storeNumber": 101, "departmentId": 10, "orderDate": "2019-02-27", "deliverBy": "2019-03-13", "created": "2024-07-08T08:17:28.0300376", "orderTotal": 123748.02, "orderStatus": "Open", "receivedStatus": null, "purchaseOrderLineItems": [ { "lineItemId": 10, "purchaseOrderId": 1, "productId": "CW_2477705", "productDescription": "Essentials Barrier Cream 300g Jar", "uom": "Each", "quantity": 204, "unitPrice": 6.63, "lineTotal": 1352.52, "gstPercentage": 10.0, }, { "lineItemId": 8, "purchaseOrderId": 1, "productId": "CW_2478048", "productDescription": "Essentials Barrier Cream 75g Tube", "uom": "Each", "quantity": 240, "unitPrice": 3.35, "lineTotal": 804.0, "gstPercentage": 10.0, }, { "lineItemId": 16, "purchaseOrderId": 1, "productId": "CW_2480590", "productDescription": "Selsun Blue Replenishing Anti Dandruff Shampoo", "uom": "Each", "quantity": 2160, "unitPrice": 4.63, "lineTotal": 10000.8, "gstPercentage": 10.0, } ] } [/code] Похоже, что OrderBy в следующей строке не работает [code].Include(x => x.PurchaseOrderLineItems.OrderBy(x => x.LineItemId)) [/code] Есть идеи, как решить эту проблему? Спасибо за помощь. Подробнее здесь: [url]https://stackoverflow.com/questions/78757784/c-sharp-linq-include-orderby[/url]