RavenDB - 构建动态查询

时间:2012-11-14 09:35:20

标签: asp.net asp.net-mvc asp.net-mvc-3 nosql ravendb

我正在使用.NET MVC和RavenDB构建一个简单的CMS,我需要使用x个传入参数来过滤页面。

示例页面:

public class Page{
string Name
string Content
List<string> Tags
//etc...
}

在我的页面控制器中我有这个方法,我想获得所有具有匹配标签的页面。它们必须排除过滤器,因此它是一个应该添加的AND条件

public ActionResult Index(List<string> tagFilters)
{
    var pages = MyRavenSession.Query<Page>().Where( how to compare tagFilters List to pages Tags List? ) 

    return View(pages);
}

我一直在网上搜索这个场景的答案,应该有其他人有同样的问题。

我该如何解决这个问题?

我读到谓词构建器无法转换为RavenDB LINQ查询。

我还读到你可以构建某种RavenDB lucene查询,但我找不到任何例子。

1 个答案:

答案 0 :(得分:2)

您可以使用Session.Advanced.LuceneQuery()来实现这一点,它允许精细的动态查询构建