【发布时间】:2014-10-16 13:57:40
【问题描述】:
我正在开发一个应用程序,该应用程序使用 Entity Framework 4 从数据库中检索数据,然后将其显示在 WPF DataGrid 中。我检索的数据如下所示:
SCHEMATIC_ID SERIAL_NUM OUTAGE_DATE POSITION COMMENTS
1G1111G111G1 1199 4/17/2003 10 Filler
1G1111G111G1 1199 5/21/2004 10 Filler
1G1111G111G2 1962 4/17/2003 3 Filler
1G1111G111G2 1962 5/21/2004 3 Filler
1G1111G111G1 2017 5/21/2004 9 Filler
1G1111G111G1 226 5/21/2004 8
1G1111G111G1 290 5/21/2004 6
1G1111G111G1 291 5/21/2004 5
1G1111G111G1 295 5/21/2004 1
1G1111G111G1 65450 5/21/2004 3
1G1111G111G1 65451 5/21/2004 9 Filler
1G1111G111G1 65453 5/21/2004 6 Filler
1G1111G111G1 65458 4/17/2003 6
1G1111G111G1 65458 5/21/2004 6
1G1111G111G1 65459 5/21/2004 7
我需要对数据进行透视,以便日期成为动态列标题(我不知道会有多少日期),并且位置位于每个 SN/示意图的日期之下。它应该是这样的:
SCHEMATIC_ID SERIAL_NUM 4/17/2003 5/21/2004 COMMENTS
1G1111G111G1 1199 10 10 Filler
1G1111G111G2 1962 3 3 Filler
1G1111G111G1 2017 9 Filler
1G1111G111G1 226 8
1G1111G111G1 290 6
1G1111G111G1 291 5
1G1111G111G1 295 1
1G1111G111G1 65450 3
1G1111G111G1 65451 9 Filler
1G1111G111G1 65453 6 Filler
1G1111G111G1 65458 6 6
1G1111G111G1 65459 7
我在 Microsoft 论坛上找到了this link,但我没有成功,因为我不太了解 select 语句中的 Lambda。
这就是我一直在做的事情
var query = (from p in context.PARTS_STAGING
where p.TN == SelectedTN
group p by new { p.PART_SERIAL_NUM, p.PART_SCH_NUM, p.COMMENTS } into g
select new PartStaging()
{
SerialNumber = g.Key.PART_SERIAL_NUM,
SchNumber = g.Key.PART_SCH_NUM,
Position = g.GroupBy(f => f.OUTAGE_DATE).Select(m => new { ?? }) // <- This is the part I can't get to work
Comments = g.Key.COMMENTS
});
【问题讨论】:
标签: c# linq visual-studio-2010 .net-4.0 pivot