C# 报告VS 2010,向下钻取ICollection

C# 报告VS 2010,向下钻取ICollection,c#,visual-studio-2010,linq,asp.net-mvc-3,reporting,C#,Visual Studio 2010,Linq,Asp.net Mvc 3,Reporting,我有以下Linq,它与一份报告有关 恢复它是一个账单的报告,但是账单有多个产品,所以我有一个i收集products。我们的想法是使用向下钻取(尽量避免子报告)在单个报告中显示每个账单及其多个产品 公共类BillsDataSet { 公共整数IDGestion{get;set;} 公共字符串Comentario{get;set;} 公共ICollection产品{get;set;} 公共十进制Monto{get;set;} 公共字符串个人{get;set;} 公共静态列表BillsPorFecha

我有以下Linq,它与一份报告有关

恢复它是一个账单的报告,但是账单有多个产品,所以我有一个
i收集
products
。我们的想法是使用向下钻取(尽量避免子报告)在单个报告中显示每个账单及其多个
产品

公共类BillsDataSet
{
公共整数IDGestion{get;set;}
公共字符串Comentario{get;set;}
公共ICollection产品{get;set;}
公共十进制Monto{get;set;}
公共字符串个人{get;set;}
公共静态列表BillsPorFecha(DateTime dtfechainical,DateTime dtFechaFinal)
{
Context db=newcontext();
列表BillsDataSet=(从数据库Bill中的p开始
选择新的BillsDataSet()
{
IDGestion=p.Ibill,
Comentario=p.Historial.FirstOrDefault().Comentario,
产品=p.BillProduct,
蒙托=总分,
Personal=p.Historial.FirstOrDefault().CodigoEmpleado
}).ToList();
返回BillsDataSet;
}
}
我在网页报告中发现此错误。。。

我想要实现的是深入查看
产品
以隐藏/显示与账单相关的所有
产品…

尝试以下操作

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;
公共静态列表BillsPorFecha(DateTime dtfechainical,DateTime dtFechaFinal)
{
Context db=newcontext();
列表BillsDataSet=(从数据库Bill中的p开始
选择新的BillsDataSet()
{
IDGestion=p.Ibill,
Comentario=p.Historial.FirstOrDefault().Comentario,
Products=(从db.BillProduct中的b开始,其中b.product_id==p.idb将选择new BillProduct()).ToList()作为ICollection,
蒙托=总分,
Personal=p.Historial.FirstOrDefault().CodigoEmpleado
}).ToList();
返回BillsDataSet;

}

这可能是由于延迟加载
产品造成的。您应该看看我的问题
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;