Frage

Ich habe folgendes Domänenobjekt:

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; }       

}  

Ich verwende Repositorys von Rhino.Commons. Ich brauche für wenige Kanäle für einen gewissen Zeitraum Summe der Werte auszuwählen. Diese Werte sollten von Kanal-ID bestellt werden. Ich verwende die folgende Abfrage (in Repository-Methode):

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"));

Und ich erhalte Fehler in der letzten Zeile, da diese Abfrage keine Liste der langen Zahlen zurückzugibt. Es gibt eine Liste von Objekten wie folgt aus (es funktioniert mit ihm):

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;
    }
}

Das ist, weil ich habe Projections.GroupProperty ( „Channel“) Projektion Kriterien hinzugefügt, um eine Gruppierung zu tun. Gibt es eine Möglichkeit eine von Vorsprüngen (Projections.GroupProperty ( „Channel“) von meiner Probe) zu entfernen resultset oder eine Gruppierung ohne Projektion hinzufügen?

War es hilfreich?

Lösung

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top