根据您的问题,这里有一个例子类,将工作
public class FileStatus
{
public int? Id { get; set; }
public string Filename { get; set; }
public DateTime Date { get; set; }
public string Status { get; set; }
}
这里是会得到你想要的结果的工作样本,以便您可以将其传递到报告模板上:
var filedata= new List<FileStatus>()
{
new FileStatus(){ Id = 1, Filename = "file1", Date = new DateTime(2016,05,12,11,30,00), Status = "fail"},
new FileStatus(){ Id = 2, Filename = "file1", Date = new DateTime(2016,05,12,11,35,00), Status = "success"},
new FileStatus(){ Id = 3, Filename = "file2", Date = new DateTime(2016,05,13,12,01,00), Status = "success"},
new FileStatus(){ Id = 4, Filename = "file2", Date = new DateTime(2016,05,13,12,02,00), Status = "fail"},
new FileStatus(){ Id = 5, Filename = "file1", Date = new DateTime(2016,05,13,12,30,00), Status = "success"},
new FileStatus(){ Id = 6, Filename = "file3", Date = new DateTime(2016,05,13,12,31,00), Status = "fail"}
};
//remove the above and replace it with your own:
//IQueryable<FileData> filedata = this.context.FileData;
var result = filedata.GroupBy(c => new { c.Filename, c.Date.Date }).Select(c => new
{
Row = c.Key.Filename,
Column = c.Key.Date,
Value = filedata.FirstOrDefault(co => co.Id == c.Max(max => max.Id)).Status
}).OrderBy(c => c.Row).OrderBy(c => c.Column);
你介意分享你的第一部分进行的类,与你用来获取数据的相关代码沿枢轴表? – Svek
请分享课程和结构的代码。你需要做的是数据透视,所以检查细节http://linqlib.codeplex.com/wikipage?title=Pivot&referringTitle=Home – bhuvin
我需要这样做的报告 –