2009-06-16 67 views
0

我刚刚开始使用db4o,我偶然发现了一个问题。db4o查询子对象

我有一个子对象的对象(它可能不是正确的词,但我希望你明白我的意思)。

子对象包含两个日期,一个开始日期和一个结束日期。

我想显示主对象是否至少有一个子对象,其中DateTime.Now介于开始日期和结束日期之间。

我必须使用原生查询或SODA(linq不在该项目中工作)。

在此先感谢!

/弗雷德里克

回答

4

我会尝试这样的事:

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

谢谢,这个固定我的问题也是如此。 – Contango 2011-02-23 17:57:40