3
I have the following SQL:
select conferencia.tb_conferencia.con_codigo,
con_pedido,
count(coi_codigo) as countItens,
count(distinct cic_conferencia_item) as countItensConferidos
from conferencia.tb_conferencia
left join conferencia.tb_conferencia_item on (conferencia.tb_conferencia_item.coi_conferencia = conferencia.tb_conferencia.con_codigo)
left join conferencia.tb_conferencia_item_conferido on (conferencia.tb_conferencia_item.coi_codigo = conferencia.tb_conferencia_item_conferido.cic_conferencia_item)
where con_codigo = 44
and con_deletado = 0
group by con_codigo, con_pedido
where the result is:
Which is my expected result, but I would like to return this query by Entity Framework using LINQ and I cannot get the same result in any way.
EDIT:
Models Pedidos:
[Table("tb_conferencia", Schema = "conferencia")]
public class conferenciaConferencia
: ModelBase, IValidatableObject
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int con_codigo { get; set; }
[ForeignKey("vendasPedido"), Required(ErrorMessage = "Informe o código do pedido.")]
public int? con_pedido { get; set; }
[Required(ErrorMessage = "informe o número do lote.")]
public int? con_lote { get; set; }
public SimNao con_deletado { get; set; }
[Timestamp]
public byte[] con_rowversion { get; set; }
public vendasPedido vendasPedido { get; set; }
}
[Table("tb_conferencia_item", Schema = "conferencia")]
public class conferenciaConferenciaItem
: ModelBase, IValidatableObject
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int coi_codigo { get; set; }
[ForeignKey("conferenciaConferencia"), Required(ErrorMessage = "Informe o código da conferência.")]
public int? coi_conferencia { get; set; }
[ForeignKey("vendasPedidoItem"), Required(ErrorMessage = "Informe o código do item.")]
public int? coi_item { get; set; }
public decimal coi_quantidade { get; set; }
public SimNao coi_deletado { get; set; }
[Timestamp]
public byte[] coi_rowversion { get; set; }
public conferenciaConferencia conferenciaConferencia { get; set; }
public vendasPedidoItem vendasPedidoItem { get; set; }
}
[Table("tb_conferencia_item_conferido", Schema = "conferencia")]
public class conferenciaConferenciaItemConferido
: ModelBase, IValidatableObject
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int cic_codigo { get; set; }
[ForeignKey("conferenciaConferenciaItem"), Required(ErrorMessage = "Informe o código do item da conferência.")]
public int? cic_conferencia_item { get; set; }
[Required(ErrorMessage = "Informe a quantidade conferida.")]
public decimal cic_quantidade { get; set; }
[ForeignKey("comunsMaterialEmbalagem"), Required(ErrorMessage = "Informe o código da embalagem do material.")]
public int? cic_material_embalagem { get; set; }
public SimNao cic_deletado { get; set; }
[Timestamp]
public byte[] cic_rowversion { get; set; }
public conferenciaConferenciaItem conferenciaConferenciaItem { get; set; }
public comunsMaterialEmbalagem comunsMaterialEmbalagem { get; set; }
}
Gustavo, I performed an EDIT of the issue with the requested information, since I thank you for the attention.
– Alexandre França