using System.Collections.Generic;
public static void Main()
var orcItem = new List<OrcamentoItem>()
new OrcamentoItem() { GrupoPai = 1, Codigo = 1, Quantidade = 2 }
var InsValor = new List<InsumoValor>()
new InsumoValor() { CodigoSinapi = 1, PrecoMediano = 10 },
new InsumoValor() { CodigoSinapi = 1, PrecoMediano = 15 }
var result = from oi in orcItem
join iv in InsValor on oi.Codigo equals iv.CodigoSinapi
group new { oi, iv } by oi.GrupoPai into grp
Total = grp.Sum(t => t.oi.Quantidade * t.iv.PrecoMediano)
result.ToList().ForEach(t => Console.WriteLine("Total: R$" + t.Total));
public class OrcamentoItem
public decimal Quantidade
public int InsumoDados_id
public int InsumoValor_id
public string OrigemPreco
public decimal PrecoMediano