Преобразовать SQL с помощью «в» в QueryOver () - PullRequest
1 голос
/ 08 апреля 2011

Мне нужно выполнить следующие запросы с помощью NHibernate QueryOver. Но у меня проблемы со списком.

выберите * из контакта, где CountryId = 'xxx' и ContactTypeId in ('aaa', 'bbb')

Ценности - это Guid. У меня есть список (), который содержит Guid для ContactTypeId (contactTypes)

Я пробовал - но это не сработает:

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

Я надеюсь, что кто-нибудь подскажет, как написать это с помощью QueryOver.

1 Ответ

2 голосов
/ 08 апреля 2011

попробуйте

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

Надеюсь, это полезно.

...