A problem to solve with lambdas expressions

2

I did this to return a list. It happens that it gives error, saying that it has no way to transform an anonymous expression in the past type (object).

public List<Liberacao> PegaLiberacao()
        {
            var lista = contexto.Liberacoes.Join(
                contexto.ItensLibs,
                t1 => t1.IdOrcamento,
                t2 => t2.IdOrcamento,
                (t1, t2) => new { t1, t2 })
                .Where(a => a.t1.IdOrcamento == a.t2.IdOrcamento)
                .Select(lib => new
                {
                    lib.t1.TipoVenda,
                    lib.t1.Vencimento,
                    lib.t1.Juros,
                    lib.t1.Entrada,
                    lib.t1.Acrescimo,
                    lib.t1.Desconto,
                    lib.t1.Mensagem,
                    lib.t1.DataLib,
                    lib.t1.Vendedor,
                    lib.t1.Cliente,
                    lib.t1.Filial,
                    lib.t2.Produto,
                    lib.t2.Qtde,
                    lib.t2.Unitario,
                    lib.t2.Custo,
                    lib.t2.CustoDiario,
                    lib.t2.UltCondicao,
                    lib.t2.Total
                }).ToList();

            return lista;
        }

And the error is this, when returning to my list:

EDIT1:Thisismymodel:

publicclassAutoriza{InetContextcontexto=newInetContext();Liberacaoliberacao=newLiberacao();publicList<Liberacao>PegaLiberacao(){varlista=contexto.Liberacoes.Join(contexto.ItensLibs,t1=>t1.IdOrcamento,t2=>t2.IdOrcamento,(t1,t2)=>new{t1,t2}).Where(a=>a.t1.IdOrcamento==a.t2.IdOrcamento).Select(lib=>newLiberacao{TipoVenda=lib.t1.TipoVenda,Vencimento=lib.t1.Vencimento,Juros=lib.t1.Juros,Entrada=lib.t1.Entrada,Acrescimo=lib.t1.Acrescimo,Desconto=lib.t1.Desconto,Mensagem=lib.t1.Mensagem,DataLib=lib.t1.DataLib,Vendedor=lib.t1.Vendedor,Cliente=lib.t1.Cliente,Filial=lib.t1.Filial}).ToList();returnlista;}publicList<ItensLib>PegaItensLib(){varlista=contexto.ItensLibs.Join(contexto.Liberacoes,t1=>t1.IdOrcamento,t2=>t2.IdOrcamento,(t1,t2)=>new{t1,t2}).Where(a=>a.t1.IdOrcamento==a.t2.IdOrcamento).Select(itens=>newItensLib{Produto=itens.t1.Produto,Qtde=itens.t1.Qtde,Unitario=itens.t1.Unitario,Custo=itens.t1.Custo,CustoDiario=itens.t1.CustoDiario,UltCondicao=itens.t1.UltCondicao,Total=itens.t1.Total}).ToList();returnlista;}}

Hereitgoes

[Table("LIBERACAO")]
    public class Liberacao
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Column("ID_LIBERACAO")]
        public int IdLiberacao { get; set; }
        [Column("FLAG_LIBERACAO")]
        public byte FlagLiberacao { get; set; }
        [Column("ID_ORCAMENTO")]
        public float IdOrcamento { get; set; }
        [Column("ID_VENDEDOR")]
        public int IdVendedor { get; set; }
        [Column("VENDEDOR")]
        public string Vendedor { get; set; }
        [Column("ID_FILIAL")]
        public int IdFilial { get; set; }
        [Column("FILIAL")]
        public string Filial { get; set; }
        [Column("DATALIB")]
        public float DataLib { get; set; }
        [Column("HORALIB")]
        public float HoraLib { get; set; }
        [Column("ID_CLIENTE")]
        public int IdCliente { get; set; }
        [Column("CLIENTE")]
        public string Cliente { get; set; }
        [Column("TIPO_VENDA")]
        public string TipoVenda { get; set; }
        [Column("JUROS")]
        public float Juros { get; set; }
        [Column("DESCONTO")]
        public float Desconto { get; set; }
        [Column("VENCIMENTO")]
        public float Vencimento { get; set; }
        [Column("ACRESCIMO")]
        public float Acrescimo { get; set; }
        [Column("ENTRADA")]
        public float Entrada { get; set; }
        [Column("PRAZO")]
        public float Prazo { get; set; }
        [Column("TOTAL_LIQUIDO")]
        public float TotalLiquido { get; set; }
        [Column("MIN_TOTAL")]
        public float MinTotal { get; set; }
        [Column("USUARIO")]
        public string Usuario { get; set; }
        [Column("CUSTODIARIO")]
        public decimal CustoDiario { get; set; }
        [Column("MAX_COMI")]
        public decimal MaxComi { get; set; }
        [Column("VALOR_COMI")]
        public decimal ValorComi { get; set; }
        [Column("NOVA_COMI")]
        public decimal NovaComi { get; set; }
        [Column("MENSSAGEM")]
        public string Mensagem { get; set; }
        [Column("Menssagem_RET")]
        public string MensagemRet { get; set; }
        [Column("DataRetorno")]
        public decimal DataRetorno { get; set; }
        [Column("HoraRetorno")]
        public decimal HoraRetorno { get; set; }
        [Column("TempoProcesso")]
        public decimal TempoPrecesso { get; set; }
        [Column("Tipo")]
        public int Tipo { get; set; }
        [Column("PROGRAMA")]
        public string Programa { get; set; }
        [Column("NOME_PC")]
        public string NomePc { get; set; }
        [Column("NOME_PROCEDURE")]
        public string NomeProcedure { get; set; }
        [Column("Perc_Juros_Total")]
        public decimal PercJurosTotal { get; set; }
        [Column("FLAG_CULTURAVENCIDA")]
        public byte FlagCulturaVencida { get; set; }
        [Column("CULTURA")]
        public string Cultura { get; set; }
        [Column("CULTURA_VCTO")]
        public int CulturaVcto { get; set; }
        [Column("FLAG_PRORROGADO")]
        public byte FlagProrrogado { get; set; }
        [Column("VALOR_PRORROGADO")]
        public decimal ValorProrrogado { get; set; }
        [Column("DIAS_ATRASO")]
        public int DiasAtrazo { get; set; }
        [Column("ID_VENDEDOR2")]
        public int IdVendedor2 { get; set; }
        [Column("VENDEDOR2")]
        public string Vendedor2 { get; set; }
        [Column("COMISSAO_VEND2")]
        public decimal ComissaoVend2 { get; set; }
        [Column("FLAG_COTACAO")]
        public byte FlagCotacao { get; set; }
        [Column("TipoVenda")]
        public string TipoVenda1 { get; set; }
        [Column("Flag_Receber_Atrasado")]
        public byte FlagReceberAtrazado { get; set; }
        [Column("Autorizou_Receber_Atrasado")]
        public string AutorizouReceberAtrazado { get; set; }

EDIT2 : I changed to that shape and it worked.

public IEnumerable<object> getAutoriza()
        {
            var lista = contexto.Liberacoes.Join(
                contexto.ItensLibs, lib => lib.IdOrcamento, itens => itens.IdOrcamento, (lib, itens) => new { lib, itens })
                .Where(a => a.lib.IdOrcamento == a.itens.IdOrcamento)
                .Select(libera => new
                {
                    libera.lib.TipoVenda,
                    libera.lib.Vencimento,
                    libera.lib.Juros,
                    libera.lib.Entrada,
                    libera.lib.Acrescimo,
                    libera.lib.Desconto,
                    libera.lib.Mensagem,
                    libera.lib.DataLib,
                    libera.lib.Vendedor,
                    libera.lib.Cliente,
                    libera.lib.Filial,
                    libera.itens.Produto,
                    libera.itens.Qtde,
                    libera.itens.Unitario,
                    libera.itens.Custo,
                    libera.itens.CustoDiario,
                    libera.itens.UltCondicao,
                    libera.itens.Total
                }).ToList();

            return lista;
        }
    
asked by anonymous 22.08.2017 / 00:59

1 answer

1

Change Select to

.Select(lib => new Liberacao
{
    TipoVenda = lib.t1.TipoVenda,
    // e assim por diante
}

Obviously this will only work if you really are returning a list of Liberacao .

    
22.08.2017 / 01:15