Linq to sql 如何在asp.net 3.5中用资源数据源显示负载报告
我是.net开发者。这里我使用report.rdlc文件。为了配置数据集,我在App_代码文件夹中添加了一个.xsd文件。我只想用LINQ过滤显示记录 这是我的密码: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
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),然后我该怎么做。。。