2012-03-14 67 views
2

我有以下Linq,它链接到一个报告。报告VS 2010,深入研究集锦

恢复它是一个帐单的报告,但票据有多个产品,所以我有一个ICollectionProducts。这个想法是在单个报表中使用钻取(尝试避免子报表)来显示每个帐单的多个Products

public class BillsDataSet 
{ 
    public int IDGestion { get; set; } 
    public string Comentario { get; set; } 
    public ICollection<BillProduct> Products { get; set; } 
    public decimal Monto { get; set; } 
    public string Personal { get; set; } 

    public static List<BillsDataSet> BillsPorFecha(DateTime dtFechaInicial, DateTime dtFechaFinal) 
    { 
     Context db = new Context(); 

     List<BillsDataSet> BillsDataSet = (from p in db.Bill 
               select new BillsDataSet() 
               { 
                IDGestion = p.IDBill, 
                Comentario = p.Historial.FirstOrDefault().Comentario, 
                Products = p.BillProduct, 
                Monto = p.Total, 
                Personal = p.Historial.FirstOrDefault().CodigoEmpleado 
               }).ToList(); 
     return BillsDataSet; 
    } 
} 

我越来越对网页报告这个错误... I'm getting this error on the web page report

我想实现的是对Products下钻隐藏/显示所有相关的法案Products ...

+0

这可能是因为延迟加载“产品”。 – 2012-03-14 13:24:24

+0

你应该看看我的问题http://stackoverflow.com/questions/9637818/handle-this-object-datasource-on-reporting-services – Jorge 2012-03-14 14:11:35

回答

0

请尝试以下

public static List<BillsDataSet> BillsPorFecha(DateTime dtFechaInicial, DateTime dtFechaFinal) 
{ 
    Context db = new Context(); 

    List<BillsDataSet> BillsDataSet = (from p in db.Bill 
              select new BillsDataSet() 
              { 
               IDGestion = p.IDBill, 
               Comentario = p.Historial.FirstOrDefault().Comentario, 
               Products = (from b in db.BillProduct where b.product_id == p.IDBill select new BillProduct()).ToList() as ICollection<BillProduct>, 
               Monto = p.Total, 
               Personal = p.Historial.FirstOrDefault().CodigoEmpleado 
              }).ToList(); 
    return BillsDataSet; 

}