如何使用Mongodb C#Driver进行谓词搜索

时间:2014-04-07 20:10:21

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

如何在令人敬畏的MongoDB c#Driver上使用以下方法!????

public IList<TEntity>SearchFor(Expression<Func<TEntity, bool>> predicate)
            {
                return collection
                    .AsQueryable<TEntity>()
                        .Where(predicate.Compile())
                            .ToList();
            }

例子很理想!

1 个答案:

答案 0 :(得分:2)

只需删除Compile,因为这会创建delegate,驱动程序无法将其转换为mongo查询:

public IList<TEntity>SearchFor(Expression<Func<TEntity, bool>> predicate)
{
    return collection
        .AsQueryable<TEntity>()
            .Where(predicate)
                .ToList();
}

但这意味着谓词表达式必须由MongoDB驱动程序翻译。