我不知道如何正确地表达这个问题,但是我正在编写一个销售系统,我的问题很简单,但是我对使用WindowsForm的DataGridView经验不足。我想在DataGridView中显示每笔销售的总价,但是要获得总价,我需要在相关表内对每种产品求和。
这些是我的销售表:
我想通过PrecioTotal得出每笔销售的总价。
这是我的代码:
public IList<Factura> GetListVentas()
{
return _context.Facturas
.OrderByDescending(a => a.FechaVenta)
.ToList();
}
我的Windows窗体代码在DataGridview中显示项目:
BindingSource source = new BindingSource();
var ventas = _facturasRepository.GetListVentas();
source.DataSource = ventas;
Listaventas.DataSource = typeof(List<>);
Listaventas.DataSource = source;
我试过的
public IList<Factura> GetListVentas()
{
return _context.Facturas
.Include(a => a.DetalleFacturas.Sum(b => b.PrecioTotal))
.OrderByDescending(a => a.FechaVenta)
.ToList();
}
但是我得到这个错误:
System.ArgumentException:'包含路径表达式必须引用在类型上定义的导航属性。使用虚线路径作为参考导航属性,使用“选择”运算符作为集合导航属性。
public class FacturaDto{
public decimal Total {get;set;}
...
}
public IList<FacturaDto>GetListVentas()
{
return _context.Facturas
.Include(a => a.DetalleFacturas). OrderByDescending(a => a.FechaVenta).Select(x=> new FacturaDto{Total = x.DetalleFacturas.Sum(b => b.PrecioTotal), ...})
.ToList();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句