选择NHibernate计数平均值

时间:2017-03-28 21:08:31

标签: c# .net nhibernate

首先,我是NHibernate的新手。这是我的问题:

我将数据存储在数据库中,并且DB中的每个样本都具有属性Date和数值。现在我想知道,有什么办法,我可以选择一些数据并计算每3秒间隔的平均值(数值)吗?

我正在使用QueryOver。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这是一个简单的小组。但我不使用。尝试转换以下查询:

var test = session.Query<Entity>()
    .GroupBy(e => 
        new
        {
            e.YourDate.Date,
            e.YourDate.Hour,
            e.YourDate.Minute,
            threeSec = e.YourDate.Second / 3
        })
    .Select(g =>
        new {
            g.Key.Date,
            g.Key.Hour,
            g.Key.Minute,
            g.Key.threeSec,
            avg = g.Average(e => e.YourNumeric)
        })
    .ToList();

在大数据集上,它可能表现不佳。服务器不太可能在这样的组上使用索引。