using System.Collections.Generic;
public static void Main()
List<Fornecedor> forecedores = new List<Fornecedor>()
new Fornecedor() { id=1, descricao="forn1" },
new Fornecedor() { id=2, descricao="forn2" },
new Fornecedor() { id=3, descricao="forn3" },
new Fornecedor() { id=4, descricao="forn4" }
List<Produto> produtos = new List<Produto>()
new Produto() { id=1, descricao="prod1" },
new Produto() { id=2, descricao="prod2" },
new Produto() { id=3, descricao="prod3" },
new Produto() { id=4, descricao="prod4" }
List<Classe> classes = new List<Classe>()
new Classe() { id=1, descricao="clas1" },
new Classe() { id=2, descricao="clas2" },
new Classe() { id=3, descricao="clas3" },
new Classe() { id=4, descricao="clas4" }
List<Nota> notas = new List<Nota>()
new Nota() { id=1, idFornecedor=1, idProduto=2,idClasse=2},
new Nota() { id=2, idFornecedor=2, idProduto=3,idClasse=3},
new Nota() { id=3, idFornecedor=4, idProduto=1,idClasse=1}
join produto in produtos on nota.idProduto equals produto.id
join fornecedor in forecedores on nota.idFornecedor equals fornecedor.id
join classe in classes on nota.idClasse equals classe.id
select new NotaCompleta()
idFornecedor = fornecedor.id,
fornecedorDescricao = fornecedor.descricao,
produtoDescricao = produto.descricao,
classeDescricao = classe.descricao
foreach (var lnota in notasCompletas)
Console.WriteLine(lnota.id);
Console.WriteLine(lnota.idFornecedor);
Console.WriteLine(lnota.idProduto);
Console.WriteLine(lnota.idClasse);
Console.WriteLine(lnota.fornecedorDescricao);
Console.WriteLine(lnota.produtoDescricao);
Console.WriteLine(lnota.classeDescricao);
Console.WriteLine("-----");
public class NotaCompleta
public int id { get; set; }
public int idFornecedor { get; set; }
public int idProduto { get; set; }
public int idClasse { get; set; }
public string fornecedorDescricao { get; set; }
public string produtoDescricao { get; set; }
public string classeDescricao { get; set; }
public int id{ get; set; }
public int idFornecedor{ get; set; }
public int idProduto{ get; set; }
public int idClasse{ get; set; }
public int id{ get; set; }
public string descricao{ get; set; }
public int id{ get; set; }
public string descricao{ get; set; }
public int id{ get; set; }
public string descricao{ get; set; }