DevExpress 数据透视图数据库实现
DevExpress Pivot chart database implementation
我刚刚安装了 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 记录的数据集上使用 is?
我创建了只有 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 执行推迟到数据库而不是具体化数据?
所以在联系支持人员后,该组件不是为没有 OLE DB 连接的 ef 设计的,我的原型没有,我的客户不接受提供/购买的想法
我是这样解决的:
使用早于 2008 年的 sql 数据库,然后使用 'pivot' 命令作为可用的现有功能。
现在这取决于我的 sql 技能来获得正确的查询并处理此问题。
我刚刚安装了 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 记录的数据集上使用 is?
我创建了只有 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 执行推迟到数据库而不是具体化数据?
所以在联系支持人员后,该组件不是为没有 OLE DB 连接的 ef 设计的,我的原型没有,我的客户不接受提供/购买的想法
我是这样解决的: 使用早于 2008 年的 sql 数据库,然后使用 'pivot' 命令作为可用的现有功能。
现在这取决于我的 sql 技能来获得正确的查询并处理此问题。