流畅的NHibernate - 过滤连接表不起作用

时间:2016-11-09 10:18:47

标签: c# fluent-nhibernate

我得到了以下表格:

Public Class Category {
    public int Id { get; set; }
    public string Name { get; set; }
}

Public Class Password {
    public int Id { get; set; }
    public string Name { get; set; }
    public string PasswordText { get; set; }
    public string Description { get; set; }
    public IList<Category> Categories { get; set; }
    public string CreateUser { get; set; }
    public string ModifyUser { get; set; }
    public DateTime? ModifyDate { get; set; }
    public bool Deleted { get; set; }
}

我还有一个名为Password_User

的连接表

现在我想要从类别中过滤Id之后的所有密码。我从我的前端代码得到的ID正在工作(我得到了正确的ID)。我实际尝试了一些东西,但问题是列表总是一样的。

这是我的例子:

if (categoryFilter > 1) {
   var PasswordEntity = _pagedDataQueryProcessor.GetDefaultQuery<Data.Entities.Password>();
   _pagedByIdDataQueryProcessor.GetById<Data.Entities.Password>(categoryFilter);

   PasswordEntity.Where(
       Restrictions.Disjunction()
            .Add(Restrictions.On<Data.Entities.Password>(x => x.Categories).IsLike(categoryFilter))
       );
} 

启动时的if是因为我没有带有Id 1的类别,因为我在一个地方使用了更多的列表而且我在前端给了它我给了一个类别Id 1和一个名字

当您需要更多信息而非说出来时。

有人可以帮助我,我不会总是得到完整的清单。我想要过滤的列表。

1 个答案:

答案 0 :(得分:0)

PasswordEntity将包含所有Password个实体的集合,因为您没有捕获调用Where方法返回的过滤集合。