1

基本上我想做的是找回一名军官。我调用这个方法并传递一个官员 ID 的 IList。我想做的是使用该 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>();
    }

任何帮助将不胜感激谢谢

4

1 回答 1

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>();
}
于 2012-11-30T15:12:56.230 回答