如何包含另一个相关对象以使用 Entity Framework 进行查询并将其显示在 DataGridView 中?

How to include another related object to query using Entity Framework and show it in DataGridView?

我不知道如何正确提出这个问题,但我正在编写一个销售系统,我的问题很简单,但我对使用 WindowsForm 的 DataGridView[=41 没有很好的经验=]。我想在 DataGridView 中显示每次销售的总价,但为了获得总价,我需要对相关的每个产品求和table.

这些是我的销售额 tables:

我正在尝试通过 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: 'The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties.

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(); 
}