DevExpress透视图数据库实现

本文关键字:实现 数据库 透视图 DevExpress | 更新日期: 2023-09-27 18:05:19

我刚刚安装了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执行数据库而不是物化数据?

DevExpress透视图数据库实现

因此,在联系支持人员后,该组件不是为没有OLE DB连接而设计的,对于我的原型,我没有OLE DB连接,并且我的客户不考虑提供/购买

我是这样解决的:使用2008年以前的SQL数据库,然后使用'pivot'命令作为现有功能。

现在它取决于我的SQL技能,以获得正确的查询和工作在这个