【发布时间】:2017-10-08 17:55:35
【问题描述】:
我无法做的一件事是查询数据以供统计使用。
例如在 FnL 中,你可以使用完整的 SQL server 功能,有点我仍然不知道如何访问 2sxc 中的数据以达到相同的目的......
有什么方法可以将列表中的数据放入 sql 视图(临时表)然后查询它?或者使用任何其他方法访问数据并进行查询?
最好的问候, 若昂
【问题讨论】:
标签: sql-server dotnetnuke 2sxc
我无法做的一件事是查询数据以供统计使用。
例如在 FnL 中,你可以使用完整的 SQL server 功能,有点我仍然不知道如何访问 2sxc 中的数据以达到相同的目的......
有什么方法可以将列表中的数据放入 sql 视图(临时表)然后查询它?或者使用任何其他方法访问数据并进行查询?
最好的问候, 若昂
【问题讨论】:
标签: sql-server dotnetnuke 2sxc
你可以在 Razor 中做到这一点。
您在模板中收到一个对象 App.Data["your_pipeline_data"] 例如 App.Data["Default"] 取决于您在 2sxc 可视化查询/管道中过滤、排序和提取的内容。你可以在这个对象上使用 Linq 来操作数据,如果你把这个数据放在一个可枚举类型的对象中,你就可以获得你想要的信息。
一个例子:
@{
var termGroups = ((IEnumerable<dynamic>)AsDynamic(App.Data["Default"]))
.OrderBy(t => t.Nom) // sort terms
.GroupBy(l => l.Nom.Substring(0, 1).ToUpper()) // group by first letter
.OrderBy(s => s.Key); // ensure sorting at group-level
int groups= Enumerable.Count(termGroups);
}
相当于 SQL 中的 GroupBy。
要操作所有数据,不要放任何 Linq 指令
@{
var terms = ((IEnumerable<dynamic>)AsDynamic(App.Data["Default"]));
int count = Enumerable.Count(terms);
}
之后,只需像这样在模板中使用变量:
There are @terms items in the list.
或
There are @groups groups in the list.
致谢:Linq 代码来自 2sxc A-Z 教程
【讨论】: