如何将Pivot表与Entity Framework一起使用?

Nai*_*air 3 sql silverlight entity-framework-4

我有一个像这样的表:

在此输入图像描述

我想使用EF,它将使用一个存储过程,它将返回一个unpivot结果集.但问题是,我如何对其进行建模,以便我可以在RIA服务中使用它来将数据推送到客户端.我想要这样的事情

public class RegionModel {
    public string Name { get; set; }
    public List<string> Quarter { get; set; }
    public List<int> Sales { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

同样的方式也会有QuarterModel.根据用户选择,我可以返回适当的绑定集合.目前,我们通过在客户端创建动态类来解决这个问题.但有兴趣知道是否有可能在没有客户端代码的情况下实现这一点并利用EF和SQL Server的转换.

jav*_*iri 7

答案:

数据透视功能可以将对象集合转换为展平原始层次结构的新对象集合.在以下示例中,Pivot扩展方法用于转换集合,如下所示:

使用以下链接:

LINQ扩展库(Pivot扩展)

使用以下行来旋转数据:

contacts.Pivot(X => X.Phones, X => X.PhoneType, X => string.Concat("(", X.AreaCode, ") ", X.PhoneNumber), true)
Run Code Online (Sandbox Code Playgroud)