我使用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?
答案 0 :(得分:1)
我在这里找到了类似问题的解决方案:https://stackoverflow.com/a/21462366/1316683
基本上添加LinqKit库并将AsExpandable添加到此行:
var test = this.MongoConnectionHandler.MongoCollection.AsQueryable().AsExpandable<Message>().Where(predicate).ToList();