有没有人能够成功地使用albahari.com的PredicateBuilder对抗MongoDB?

时间:2013-07-20 06:57:52

标签: mongodb c#-4.0 mongodb-.net-driver predicatebuilder

我使用albahari.com上流行的PredicateBuilder获得以下代码:

var predicate = PredicateBuilder.False<Message>();
predicate.Or(p => p.Subject.Contains("a"));
var test = this.MongoConnectionHandler.MongoCollection.AsQueryable().Where(predicate).ToList();
return this.MongoConnectionHandler.MongoCollection.AsQueryable().Count(predicate);  

问题在于,即使该列中包含字母“a”的记录,它也不会返回任何内容。删除谓词构建器并直接执行包含AsQueryable()的操作将返回匹配的记录。

有没有人能够成功使用PredoBuilder库和Mongo?

1 个答案:

答案 0 :(得分:1)

我在这里找到了类似问题的解决方案:https://stackoverflow.com/a/21462366/1316683

基本上添加LinqKit库并将AsExpandable添加到此行:

var test = this.MongoConnectionHandler.MongoCollection.AsQueryable().AsExpandable<Message>().Where(predicate).ToList();