Olá , tenho 3 tabelas interligados com foreign key, gostaria de retornar um arquivo JSON , seguindo o padrão abaixo Utilizando LinQ:
Ex.
{  "id": 1,
    "Nome_Empresa: Alura,
    "pedidos": [
         {
            "id":1
            "Nome_Aluno":"Rafael",
            "ItensPedidos": [
                {
                    "Curso":"java",
                    "quantidade":"1",
                    "preço":100,00
                }
             ]
        }
Minhas classes:
public class PedidoGrupo
{
    [Key]
    public int Id;
    public String Nome_Empresa;
    public virtual List<Pedido> pedidos { get; set; }
public class Pedidos
{
    [Key]
    public int Id;
    [ForeignKey("pedidoGrupo")]
    public int id_pedido_grupo 
    public String Nome_Aluno;
    public virtual PedidoGrupo pedidoGrupo { get; set; }
    public List<PedidoItem> pedidoItens { get; set; }
}
public class PedidoItem  
{
    [Key]
    public int id;
    [ForeignKey("Pedido")]
    public int id_pedido { get; set; }
    public virtual Pedido Pedido { get; set; }
ou seja, vou comparando os id's semelhantes e quero retornar um array de objetos dentro de PedidosItens que está dentro de pedidos, que por sua vez esta dentro de PedidosGrupo.
Qual a maneira correta de se fazer isso ? Estou com difculdade.