我知道 linq2db4o 可以做到以下几点
from Apple a in db
where a.Color.Equals(Colors.Green)
select a
然而,我需要的是允许我有条件地构建查询的东西(就像我可以在其他 linq 变体中一样)
public IEnumerable<Apple> SearchApples (AppleSearchbag bag){
var q = db.Apples;
if(bag.Color != null){
q = q.Where(a=>a.Color.Equals(bag.Color));
}
return q.AsEnumerable();
}
在现实世界的情况下,searchbag 将包含许多属性,构建一个巨大的 if-tree 来捕获所有可能的填充属性组合将是疯子的工作。
可以先调用
var q = (from Color c in db select c);
然后从那里继续。但这并不是我想要的。
免责声明:几乎重复了我近 11 个月前的问题。
这一点更清楚了,因为我现在更好地理解了这个问题,我希望现在一些 db4o 开发人员的眼睛可以抓住这一点:
有什么建议么?