2
I did this, to return a list. It turns out to be an error, saying that there is no way to transform an anonymous expression into 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 that’s the mistake, going back to my list:
EDIT1: This is my model:
public class Autoriza
{
InetContext contexto = new InetContext();
Liberacao liberacao = new Liberacao();
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 Liberacao
{
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();
return lista;
}
public List<ItensLib> PegaItensLib()
{
var lista = 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 => new ItensLib
{
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();
return lista;
}
}
Here it comes
[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 switched 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;
}
The problem is that I have two entities (Release and Itenslib) and the new is only one (Release). As I put in select the other entity?
– pnet
Like I said, the object has to be of the kind
Liberacao
, otherwise it makes no sense to try to return such a list.– Jéf Bueno
Didn’t solve my problem. Gives this error:
1>C:\Labs\AutorizadorService\AutorizadorService\Models\Autoriza.cs(25,21,25,30): error CS0200: Property or indexer 'Liberacao.TipoVenda' cannot be assigned to -- it is read only

It weaves for all fields.– pnet
Well, I can’t guess what’s going on. Post the model I try to help.
– Jéf Bueno
No, young man. I need to see the model
Liberacao
– Jéf Bueno