我在linq中有以下查询,该查询以2个列表作为数据源。第一个包含ProductID及其说明的列表
public class Venta
{
public string ProductoId { get; set; }
public string clienteRut { get; set; }
}
public class Ventas
{
public List<Venta> lstVentas { get; set; }
}
另一个列表中有出售的产品
public class Productos
{
public List<Producto> lstProductos { get; set; }
}
public class Producto
{
public string id { get; set; }
public string name { get; set; }
}
我需要咨询5种最畅销的产品,按数量从最大到最小的顺序订购。
到目前为止,我有以下linq查询,但是我不知道该怎么做,因此我会得到前5个列表,并根据数量(续)从高到低排序
Venta vta1 = new Venta();
vta1.ProductoId = "1";
vta1.clienteRut = "121370654";
Venta vta2 = new Venta();
vta2.ProductoId = "2";
vta2.clienteRut = "121370654";
Venta vta3 = new Venta();
vta3.ProductoId = "3";
vta3.clienteRut = "121370654";
List<Venta> lstVentasDia = new List<Venta>();
lstVentasDia.Add(vta1);
lstVentasDia.Add(vta2);
lstVentasDia.Add(vta3);
VentasDia vtas = new VentasDia();
vtas.date = "2018-05-01";
vtas.lstVentas = lstVentasDia;
var Lista5Top = from vendidos in vtas.lstVentas
orderby vendidos.ProductoId
group vendidos by vendidos.ProductoId into Grupo
select new { key = Grupo.Key, cont = Grupo.Count() };
除了该组结果外,我还需要添加“产品”列表中产品的名称,然后按售出数量从大到小的前5个顺序进行订购
先谢谢了 格洛里亚
答案 0 :(得分:0)
尝试以下操作:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<NewCustAddDC>
.....the xml from above goes here......
</NewCustAddDC>
</soap:Body>
</soap:Envelope>