我想在nhibernate中执行以下操作。我在nhibernate上使用条件查询。条件查询是否支持此sql语句的等效项?

select * from table where tableid in (1,2,3,4)

最佳答案

使用QueryOver接口:

session.QueryOver<MappedType>().AndRestrictionOn(m => m.tableid).IsIn(new int[] { 1, 2 , 3 , 4 }).List();


要么

session.QueryOver<MappedType>().Where(m=> m.tableid.IsIn(new int[] { 1, 2 , 3 , 4 })).List();


或使用Criteria接口:

session.CreateCriteria<MappedType>().Add(Expression.In("tableId", new int[] { 1, 2, 3, 4 } ) ).List<MappedType>();

10-05 19:24