Nhibernate,Criteria列表作为搜索参数

时间:2012-11-30 14:37:55

标签: list nhibernate hibernate-criteria ilist

基本上我要做的就是找一个军官。我称之为这种方法并传递了一个IList of Officer Ids。我想要做的就是使用Ilist,它会有许多独特的ID。将每个id的一条记录拉入一个IList的官员中,然后我回来并做一些事情。

我的问题是,我不能为我的生活弄清楚如何让限制得到纠正。所以说列表中有3个,6个,9个和12个,它将获得所有这些记录。

    public IList<Officer> GetOfficer(IList<int> OfficerId)
    {
        return session.CreateCriteria<Officer>()
                .Add(Restrictions.Eq("OfficerId", OfficerId))
                .SetCacheable(true)
                .List<Officer>();
    }

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

解决方案应该在InExpression

public IList<Officer> GetOfficer(IList<int> OfficerId)
{
  return session.CreateCriteria<Officer>()
    .Add(new NHibernate.Criterion.InExpression("OfficerId"
               , OfficerId.Cast<object>().ToArray()))
    .SetCacheable(true)
    .List<Officer>();
}