在2.0重新编写之前,IEnumerable上有一个containsAll扩展方法,我怀疑它在最后的Mongo查询中映射到$all。
出于某种原因,我没有看到它在最新的2.1 RC0位。如果它掉了,或者只是丢失了,有没有办法把$all子句注入iqueryable?
我意识到containsAll扩展方法是在linqtomongo类中定义的,不幸的是,它现在/仍然在MongoDb.Driver.Legacy assembly中。设置对该旧程序集的引用,然后尝试使用containsAll扩展方法会导致异常“不支持的筛选器”。
是的,我可以专门使用遗留程序集,但是会遗漏很多东西,尤其是异步/等待功能。
最佳答案
从mongocsharpdriver 2.1.0-rc1开始,支持$all运算符。
See the Issue Resolution here