我通过 FluentNHibernate 映射了以下域
class Point
{
public int Id { get; set; }
public string Label { get; set; }
}
class PointData
{
public int Id { get; set; }
public DateTime Hour { get; set; }
public decimal Value { get; set; }
public Point Location { get; set; }
public DateTime Available { get; set; } // Data arrival (data tracking)
}
PointData 表将频繁更新插入一个 Hour 的新值(不支持更新),但并非所有点都以相同的频率写入 PointData。
我需要在 startTime 和 endTime 之间以及 timeOfSnapshot(可用)之前的所有小时内获取每个 Point 的最新 PointData。
到目前为止,我使用 group by 使用 Linq to Nhibernate 的查询不起作用:
Query.Where(x => x.Available <= available && x.Hour >= startHour && x.Hour < endHour)
.OrderByDescending(x => x.Available)
.GroupBy(x => new {x.Location, x.Hour})
.Select(g => g.First())
.ToList();
到目前为止,所有搜索都只提出了 SQL 查询,这并不是我想要的。
有帮助