NHibernate:HQL相当于Criteria Expression.In()?

Eri*_*ebo 1 nhibernate hibernate hql criteria

您如何在HQL中表达以下Criteria查询?

var idArray = new int[] { 1, 2, 3, 4, 5 };

Session.CreateCriteria(typeof(Foo))
    .Add(Expression.In("Id", idArray)
    .List<Foo>();
Run Code Online (Sandbox Code Playgroud)

我知道HQL中有一个"in"关键字,但据我所知,该关键字用于子查询,而不是像"......(1,2,3,4,5)中的Id"或者这样的.如果情况并非如此,我很乐意接受更正.

谢谢/ Erik

Dar*_*rov 5

试试这个:

var idArray = new int[] { 1, 2, 3, 4, 5 };
var foos = Session
    .CreateQuery("from Foo f where f.Id in (:ids)")
    .SetParameterList("ids", idArray)
    .List<Foo>();
Run Code Online (Sandbox Code Playgroud)