DevExpress数据透视图数据库实现

时间:2016-09-02 19:01:27

标签: c# devexpress edmx devexpress-mvc pivot-grid

我刚刚安装了devExpress组件的评估版本,我已经按照向导创建了我希望使用的PivotGrid。

向导已创建数据库访问的查询如下

    Demo.Db.Database1Entities1 db = new Demo.Db.Database1Entities1();

    [ValidateInput(false)]
    public ActionResult PivotGridPartial()
    {
        var model = db.DemoSources;
        return PartialView("_PivotGridPartial", model.ToList());
    }

我的目的是使用带有大约3M记录的数据集吗?

我创建了只有20k记录的虚拟数据集。

运行默认查询时,它会抛出内存不足

进度更新

我在视图中编写代码只是为了取得一些进展

在低效查询之后,我最终只更新了视图,仅用于概念证明。 我的观点现在看起来像:

@ {

var grid = Html.DevExpress().PivotGrid(settings =>
{
    settings.Name = "PivotGrid";

    settings.CallbackRouteValues = new {Controller = "Grid", Action = "PivotGridPartial"};

    settings.Fields.Add(field =>
    {
        field.Area = PivotArea.FilterArea;
        field.FieldName = "Datum";
        field.Caption = "Datum";
    });
});

}

@grid.BindToEF(typeof(LinkyDemoEntities), "Linky", (object sender, DevExpress.Data.Linq.LinqServerModeDataSourceSelectEventArgs e) =>
{
    e.KeyExpression = "ID";

    var dataContext = new LinkyDemoEntities();
    e.QueryableSource = dataContext.Linkies.AsQueryable();
}).GetHtml();

如何将sql执行推迟到数据库而不是实现数据?

1 个答案:

答案 0 :(得分:0)

所以在联系支持之后,该组件不是为没有OLE DB连接的ef而设计的,对于我的原型我没有,而且我的客户不接受提供/购买的想法

我这样解决了: 使用早于2008的sql数据库,然后使用' pivot'命令作为现有功能。

现在依赖于我的sql技能来获得正确的查询并对此进行处理。