将带有'is in'的SQL转换为QueryOver()

时间:2011-04-07 20:42:30

标签: c# sql nhibernate queryover

我需要使用NHibernate QueryOver进行休闲查询。但是我对列表有疑问。

从联系人中选择*,其中CountryId ='xxx'和ContactTypeId in('aaa','bbb')

价值观是指导。我有一个List(),其中包含ContactTypeId的Guid(contactTypes)

我试过了 - 但这不起作用:

                var query = contactRepository.GetAllOver()
                    .Where(x => x.Country != null && x.Country.Id == countryId)
                    .WhereRestrictionOn(x => x.ContactType.Id).IsInG(contactTypes);

我希望有人可以给我一个tipp如何用QueryOver写这个。

1 个答案:

答案 0 :(得分:2)

试试这个

var query = contactRepository.GetAllOver()
                .Where(x => x.Country != null && x.Country.Id == countryId)
                .And(Restrictions.On(c => c.ID).IsIn(contactTypes)

我希望它有用。