0

i have got an issue that i identified as that:
let's suppose these objects.

public class Order{
    int id{get;set;}
    string name {get;set;}
    public virtual User User {get; set;}
}


public class OrderItem{
    int id{get;set;}
    string name {get;set;}
    public virtual Order Order {get; set;}
}

public class User{
    int id{get;set;}
    string name {get;set;}

}

So the problem is when i tried to get an query like this

context.Order
.Where(pre => pre.Id == Id)
.OrderByDescending(pre => pre.Id)
.Skip(( pageNumber - 1 ) * pageSize)
.Take(pageSize)
.Include(pre => pre.OrderItem)
.Select(pre => new
  {
    pre.name,
    pre.OrderItem
  }).ToList()

All the problem happens with the include OrderItem, when i get it on select the orderItem come with all their related data.

My final object became like it:

{
  name,
  OrderItem :{
    name,
    Order : {
     Id,
     name,
     User: {
       name,
       Id
     }
    }
  }
}

but what i want is just the name and orderItem:

{
  name,
  OrderItem :{
    name
  }
}
Luiz
  • 21
  • 1
  • 5

1 Answers1

0

Follow up on @kit's comment, then one solution could be:

context.Order
.Where(pre => pre.Id == Id)
.OrderByDescending(pre => pre.Id)
.Skip(( pageNumber - 1 ) * pageSize)
.Take(pageSize)
.Include(pre => pre.OrderItem)
.Select(pre => new
  {
    pre.name,
    OrderItem = new {
      pre.OrderItem.name
    }
  }).ToList()
Frank Nielsen
  • 1,546
  • 1
  • 10
  • 17