我正在使用.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查询,但我找不到任何例子。
答案 0 :(得分:2)
您可以使用Session.Advanced.LuceneQuery()
来实现这一点,它允许精细的动态查询构建