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

时间:2011-11-10 15:35:44

标签: sql silverlight entity-framework-4

我有一张像这样的表:

enter image description here

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

public class RegionModel {
    public string Name { get; set; }
    public List<string> Quarter { get; set; }
    public List<int> Sales { get; set; }
}

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

2 个答案:

答案 0 :(得分:7)

答案:

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

使用以下链接:

LINQ Extensions Library (Pivot Extensions)

使用以下行来旋转数据:

contacts.Pivot(X => X.Phones, X => X.PhoneType, X => string.Concat("(", X.AreaCode, ") ", X.PhoneNumber), true)

答案 1 :(得分:3)

@ cadrell0是正确的,它是视图侧代码。我能够使用通用动态对象实现这一点。我最近在博客上发表了关于@ http://csharprambling.wordpress.com/2011/11/23/expandoobject-in-silverlight-take-2/

的文章