Linq to sql 如何在asp.net 3.5中用资源数据源显示负载报告

Linq to sql 如何在asp.net 3.5中用资源数据源显示负载报告,linq-to-sql,report,asp.net-3.5,Linq To Sql,Report,Asp.net 3.5,我是.net开发者。这里我使用report.rdlc文件。为了配置数据集,我在App_代码文件夹中添加了一个.xsd文件。我只想用LINQ过滤显示记录 这是我的密码: using (DataClassesDataContext db = new DataClassesDataContext()) { var query = from p in db.Posts join c in db.Categories

我是.net开发者。这里我使用report.rdlc文件。为了配置数据集,我在App_代码文件夹中添加了一个.xsd文件。我只想用LINQ过滤显示记录

这是我的密码:

using (DataClassesDataContext db = new DataClassesDataContext())
        {
            var query = from p in db.Posts
                        join c in db.Categories on p.Category_id equals c.Id
                        join u in db.Users on p.User_id equals u.Id
                        where p.Id == int.Parse(post_id.Value.ToString())
                        select new
                        {
                            Title = p.Title,
                            Description = p.Description,
                            CategoryName= c.Category_name,
                            Publisher = u.First_name+" "+u.Last_name,
                            IsFile = p.IsFileAttached,
                            FileSize = p.TotalFileSize,
                            PublishDate = p.Sent_Datetime
                        };
            DataSet myDataSet = new DataSet();
            DataTable dt = new DataTable("tbl_Post_History");
            dt.Columns.Add(new DataColumn("Title", typeof(string)));
            dt.Columns.Add(new DataColumn("Description", typeof(string)));
            dt.Columns.Add(new DataColumn("Publisher", typeof(string)));
            dt.Columns.Add(new DataColumn("PublishDate", typeof(DateTime)));
            dt.Columns.Add(new DataColumn("IsFile", typeof(bool)));
            dt.Columns.Add(new DataColumn("CategoryName", typeof(string)));
            dt.Columns.Add(new DataColumn("FileSize", typeof(string)));
            foreach (var item in query)
            {
                if (item != null)
                {
                    DataRow dr = dt.NewRow();
                    dr["Title"] = item.Title.ToString();
                    dr["Publisher"] = item.Publisher.ToString();
                    dr["PublishDate"] = Convert.ToDateTime(item.PublishDate.ToString());
                    dr["IsFile"] = bool.Parse(item.IsFile.ToString());
                    dr["CategoryName"] = item.CategoryName.ToString();
                    dr["FileSize"] = item.FileSize.ToString();
                    dt.Rows.Add(dr);
                }
            }
            myDataSet.Tables.Add(dt);
            var query1 = from f in db.Files
                         where (f.Post_History_id == int.Parse(post_id.Value.ToString()))
                         select new
                         {
                             FileTitle = f.File_Title,
                             FileSize = f.File_Size
                         };
            DataTable dt1 = new DataTable("tbl_History_Files");
            dt1.Columns.Add(new DataColumn("FileTitle", typeof(string)));
            dt1.Columns.Add(new DataColumn("FileSize", typeof(string)));
            foreach (var item in query1)
            {
                DataRow dr = dt1.NewRow();
                dr["FileTitle"] = item.FileTitle.ToString();
                dr["FileSize"] = item.FileSize.ToString();
                dt1.Rows.Add(dr);
            }
            myDataSet.Tables.Add(dt1);
            ReportViewer1.Visible = true;
            ReportDataSource reportDataSource = new ReportDataSource();
            reportDataSource.Value = myDataSet.Tables[0];
            ReportViewer1.LocalReport.ReportPath = Server.MapPath(@"~\EndUser\Report.rdlc");
            ReportViewer1.LocalReport.DataSources.Add(reportDataSource);
            ReportViewer1.DataBind();
        }
我曾经有过ReportViewer运行时错误,比如

An error has occurred during report processing.
    Invalid attempt to call Read when reader is closed.

执行此语句时。

似乎触发了延迟加载。也许你必须强制迫不及待地加载集合或引用(例如,通过DataLoadOptions),然后我该怎么做。。。