2sxc - 查询数据进行统计

2sxc - Query data for statistics

我无法做的一件事是查询数据以供统计使用。

例如,在 FnL 中,您可以使用完整的 SQL 服务器功能,但我仍然不知道如何访问 2sxc 中的数据以达到相同的目的...

有什么方法可以将列表中的数据放入 sql 视图(临时 table)然后查询它?或者使用任何其他方法访问数据并查询它?

此致, 若昂

你可以在 Razor 中做到这一点。

您在模板中收到一个对象 App.Data["your_pipeline_data"] 例如 App.Data["Default"] 取决于您在 2sxc 中过滤、排序、提取的内容视觉query/pipeline。你可以在这个对象上使用 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 教程