我仍然是NHibernate.Search的新手。所以如果这是一个愚蠢的问题,请耐心等待:)
说,我已经索引了一些BlogPost类型的实体,它们有一个名为IsDeleted的属性。如果IsDeleted设置为true,我不希望我的查询显示这个特定的博客帖子。
这可能吗?如果是 - 如何? :P
提前致谢 - cwap
答案 0 :(得分:0)
// Using NHibernate.Linq:
var result = Session.Linq<BlogPost>().Where(post => !post.IsDeleted).ToList();
// Using HQL:
var hql = "from BlogPost bp where bp.IsDeleted == false";
var result = Session.CreateQuery(hql).List<BlogPost>();
// Using Criteria API:
var result = s.CreateCriteria(typeof(BlogPost))
.Add(Restrictions.Eq("IsDeleted", false));
.List<BlogPost>();
答案 1 :(得分:0)
自己找到解决方案。我将[Field(Index.Tokenized,Store = Store.Yes)] - 属性添加到IsDeleted属性,并将此子句添加到任何查询入站:
string q = "(" + userQuery + ") AND IsDeleted:False";
我知道这很简单:)