I’m working with a nested list (List inside List) everything is working fine but when I try to get response from Api (GetOrders) it is not showing lists. I try to .include(x=>x.ShopOrdersList) but It is only including “ShopOrdersList” and the second list “OrderSummaries” which is inside “ShopOrdersList” is not showing.
My model is follow
public class Orders
{
[Key]
public int InvoiceNumber { get; set; }
public int ShopId { get; set; }
public string ShopName { get; set; }
public string Address { get; set; }
public string OwnerName { get; set; }
public string OwnerCnic { get; set; }
public string Area { get; set; }
public string PhoneNumber { get; set; }
public int TotalSale { get; set; }
public int TotalProfit { get; set; }
public int TotalRecover { get; set; }
public List<ShopOrder> ShopOrdersList { get; set; }
}
public class ShopOrder
{
[Key]
public int ShopOrderId { get; set; }
public DateTime BookingDate { get; set; }
public DateTime DeliveryDate { get; set; }
public string OrderBooker { get; set; }
public string DeliveryMan { get; set; }
public byte[] Signature { get; set; }
public int TotalQuantity { get; set; }
public bool IsDelivered { get; set; }
public bool IsAccepted { get; set; }
public bool IsPaymentAdded { get; set; }
public int TotalProfit { get; set; }
public int TotalPrice { get; set; }
public string UserId { get; set; }
public List<OrderSummary> OrderSummaries { get; set; }
}
public class OrderSummary
{
[Key]
public int OrderSummaryId { get; set; }
public int ProductId { get; set; }
public string ProductName { get; set; }
public string Detail { get; set; }
public int Price { get; set; }
public byte[] Image { get; set; }
public int PcsInCtn { get; set; }
public int OnePcsPurchasePrice { get; set; }
public int Ctns { get; set; }
public int Quantity { get; set; }
public int TotalPrice { get; set; }
}
and the controller code is
// GET: api/Orders
public IQueryable<Orders> GetOrders()
{
return db.Orders.Include(x => x.ShopOrdersList);
}
This is response that I’m getting.

Now I want to include “OrderSummaries” list. Thanks in advance.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
Check this answer EF LINQ include multiple and nested entities
Its saying you can call ThenInclude to add nested entries
public IQueryable<Orders> GetOrders()
{
return db.Orders.Include(x => x.ShopOrdersList).ThenInclude(y=>y.OrderSummaries);
}
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0