nHibernate自引用表获取很多

时间:2014-03-02 12:19:57

标签: nhibernate fluent-nhibernate linq-to-nhibernate nhibernate-criteria

我有一个自引用表,用于构建我的树视图。

我使用以下查询来获得正确的结构:

  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查询我未删除的所有项目以及相应的未删除项目?

干杯, 斯蒂芬

1 个答案:

答案 0 :(得分:1)

您可以按实体或每个集合定义WHERE限制,例如“WHERE IS_DELETED = 0”。请参阅http://weblogs.asp.net/ricardoperes/archive/2013/03/21/soft-deletes-with-nhibernate.aspx