API критериев NHibernate, прогнозы и результаты - PullRequest
1 голос
/ 15 февраля 2009

У меня есть следующий объект домена:

public class Data
{
    public virtual int ID { get; set; }
    public virtual DateTime TimeStamp { get; set; }
    public virtual int Value { get; set; }

    public virtual Channel Channel { get; set; }       

}  

Я использую репозитории от Rhino.Commons. Мне нужно выбрать сумму значений для нескольких каналов за определенный период. Эти значения должны быть упорядочены по идентификатору канала. Я использую следующий запрос (в методе хранилища):

var criteria = DetachedCriteria.For<LiveData>()
            .Add(Restrictions.Le("TimeStamp", startDate))
            .Add(Restrictions.Ge("TimeStamp", endDate))
            .Add(Restrictions.InG<Channel>("Channel", channels))
            .SetProjection(Projections.Sum("Value"))
            .SetProjection(Projections.GroupProperty("Channel"));

long[] result = ReportAll<long>(criteria, Projections.ProjectionList(), Order.Asc("Channel"));

И я получаю сообщение об ошибке в последней строке, потому что этот запрос не возвращает список длинных чисел. Возвращает список таких объектов (работает с ним):

public class ResultValue
{
    public virtual Channel Channel { get; set;}
    public virtual int Value { get; set; }
    public ResultValue()
    {            
    }

    public ResultValue(int value, Channel channel)
    {
        this.Value = value;
        this.Channel = channel;
    }
}

Это потому, что я добавил проекцию Projection.GroupProperty ("Channel") к критериям для группировки. Есть ли способ удалить одну из проекций (Projection.GroupProperty ("Channel") из моего образца) из набора результатов или добавить группировку без проекции?

1 Ответ

1 голос
/ 15 февраля 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...