我有一个自引用表,用于构建我的树视图。
我使用以下查询来获得正确的结构:
public IList<TreeNode> GetAllTreeNodes(string userid)
{
var query = Session.Query<TreeNode>()
.FetchMany(x => x.Children)
.Where(tn => (tn.User.Id == userid) && tn.IsDeleted == false);
return query.ToList();
}
唯一的问题是我的查询忽略了我的子集合的IsDeleted标志。
如何告诉NHibernate查询我未删除的所有项目以及相应的未删除项目?
干杯, 斯蒂芬
答案 0 :(得分:1)
您可以按实体或每个集合定义WHERE限制,例如“WHERE IS_DELETED = 0”。请参阅http://weblogs.asp.net/ricardoperes/archive/2013/03/21/soft-deletes-with-nhibernate.aspx。