2009-06-16 8 views
0

Ich habe gerade mit db4o begonnen und ich stolperte auf ein Problem.db4o Query Unterobjekt

Ich habe ein Objekt mit einem Unterobjekt (es ist wahrscheinlich nicht das richtige Wort, aber ich hoffe, Sie bekommen, was ich meine).

Das Unterobjekt enthält zwei Daten, ein Startdatum und ein Enddatum.

Ich möchte das Hauptobjekt anzeigen, wenn es mindestens ein Unterobjekt hat, wobei DateTime.Now zwischen dem Start- und Enddatum liegt.

Ich muss native Abfrage oder SODA verwenden (linq funktioniert nicht im Projekt).

Vielen Dank im Voraus!

/Fredrik

Antwort

4

Ich würde so etwas wie dies versucht:

IQuery query = db.Query(); 
query.Constrain(typeof(YourObjectType)); 
IConstraint constr1 = query.Descend("enddate") 
    .Constrain(DateTime.Now).Greater(); 
IConstraint constr2 = query.Descend("startdate") 
    .Constrain(DateTime.Now).Smaller(); 
query.Constrain(constr1).And(constr2); 
IObjectSet result = query.Execute(); 
+0

Danke, das feste als auch mein Problem. – Contango

Verwandte Themen