2016-11-09 31 views
1

我得到了下面的表格过滤器:功能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。我其实尝试了一些东西,但我的问题是,列表总是一样的。

这里我举的例子:

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)) 
     ); 
} 

的,如果一开始有,因为我没有与ID为1类别,因为我用的是列表不是在一个地方更多,我maked它在前面我给了一个类别Id 1和一个名字。

当你需要更多的信息而不是说出来。

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

回答

0

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