Я пробую код из Поваренной книги NH 3.0 и задаюсь вопросом, почему я не могу скомпилировать приведенный ниже код. Я думаю QueryProjectionBuilder, который должен выполнять эту работу, находится в «NHibernate.Criterion.Lambda», но директива using для него не помогает.
Проблемы связаны с частями SelectGroup и SelectAvg. Если предположить, что синтаксис из книги верен, может ли кто-нибудь увидеть здесь недостающую ссылку?
namespace Queries.Implementations
{
using System;
using System.Collections.Generic;
using System.Linq;
using Eg.Core;
using NHibernate;
using NHibernate.Criterion;
using NHibernate.Criterion.Lambda;
public class QueryOverQueries : CookbookQueriesBase
{
public override IEnumerable<NameAndPrice> GetAvgDirectorPrice(ISession session) {
return _session.QueryOver<Movie>()
.Select(list => list
.SelectGroup(m => m.Director)
.SelectAvg(m => m.UnitPrice)
)
.List<object[]>()
.Select(props =>
new NameAndPrice
{
Name = (string) props[0],
Price = (decimal) props[1]
});
}
}
}