на първо място, аз съм нов за NHibernate. Ето моя проблем:
Имам данни, съхранявани в база данни, и всяка пробав DB има атрибут Дата и цифрова стойност. Сега бих искал да знам, има ли някакъв начин, че мога да избирам някои данни и да броят средно (от числени стойности) за всеки 3 секунди интервал?
Използвам QueryOver.
Благодаря ви за помощ.
Отговори:
1 за отговор № 1Това е проста група от. Но аз не използвам queryover, Опитайте да конвертирате следното LINQ към nhibernate заявка:
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();
На голям набор от данни може да се окаже лошо. Сървърът едва ли ще използва индекс на такава група от.