2014-11-02 32 views
1

柱说我有下面的类:的LINQ查询透视与未知值

public class Sightings 
{ 
    public string CommonName { get; set; } 
    public string ScientificName { get; set; } 
    public string TimePeriod { get; set; } 
    public bool Seen { get; set; } 
} 

我想创建TIMEPERIOD枢轴查询。如果我知道TimePeriod中的值是否超前,我将知道如何编写查询。但是,我不知道。它们可以是几年(如2007,2008,2009等),也可以是几个月(如2004年1月,2004年2月,2004年3月),也可以是季度(例如Q1-2004,Q2-2005 ,Q3-2004等)。这实际上取决于用户如何查看数据。

是否有可能编写一个可以做到这一点的Linq查询,当枢轴列中的值未知?

我曾考虑将值写入Excel工作表,创建数据透视表然后从工作表中读取值。如果Linq查询不起作用,我可能必须这样做。

+0

这看起来像一个结果类。源数据是什么样的? – 2014-11-02 19:26:12

+0

@GertArnold - 我在帖子中提到了最重要的列(TimePeriod)可能包含的内容。这是我想旋转的列。 – 2014-11-03 00:37:55

回答

0

你知道用户可以选择的最精细的值吗?
如果例如是几个月,那么您可以简单地写几个月的查询(请参阅Is it possible to Pivot data using LINQ?)。
如果用户选择年份,将这些值汇总到几年应该很简单。
如果他们想要宿舍,那么你可以聚合宿舍,等等。
这可能不是最好/最通用的解决方案,但它应该很容易完成工作。