2009-08-26 10 views
3

Ich möchte nicht, wenn es eine Möglichkeit gibt, eine "Having" Constrain zu einer Aggregation hinzufügen wählen? Beispiel: Wenn ich alle Verkaufssumme benötigen Datum> der Verkaufssumme mit 1000Subsonic Aggregation Constraint ("Having")

Mit besten Grüßen, thegodfather

Antwort

5

SubSonic hat ein "Haben", aber Sie geben es nicht explizit an.

Es wird bestimmt, indem Sie ein Aggregat auswählen und das Aggregat zur Where-Klausel hinzufügen.

Zum Beispiel (paraphrasiert von SubSonic AggregateTests.cs)

 SubSonic.SqlQuery q = new 
      Select(Aggregate.GroupBy("ProductID"), Aggregate.Avg("UnitPrice")) 
      .From("Order Details") 
      .Where(Aggregate.Avg("UnitPrice")) 
      .IsGreaterThan(50); 

Die SubSonic Abfrage über eine SQL-Anweisung mit einem "HAVING AVG (Einzelpreis)> 50" erstellen

+0

Es hat die Arbeit dank Mann getan – TheGodfather

0

Sind Sie mit SubSonic 3.0.0.3 oder 2.2?

Wenn Sie 2.2 verwenden, dann glaube ich nicht, dass Sie es tun können. Ich bin unsicher über 3.0.

+0

ich Unterschall bin mit 2,2, Ich denke, dass es von SubSonic 3 wert sein wird, wenn Sie die Linq verwenden, aber das Problem mit Linq von Framework 3.5, dass Sie einen Datensatz oder eine Datenansicht nicht ausführen können und wenn Sie das Format der Datumsspalte ändern möchten, erhalten Sie Am Ende der Anonymen Typenkollektion gibt es keine einfache Möglichkeit, sie an die Datenansicht zu binden. Sie sagen also, dass Subsonic Dose kein magisches Trike hat, um das "Haben" zu machen. Danke für Ihre Zeit. – TheGodfather

+0

Ich bin mir nicht 100% ig sicher, aber ich habe mit SubSonic 2.2 eine Reihe von Aggregaten gemacht, und ich kann mich nicht erinnern, ein "Haben" gehabt zu haben. Sie sollten das mit den Dokumenten überprüfen, nur um sicherzugehen. –