NHibernate - Добавление отдельных критериев - PullRequest
0 голосов
/ 26 июля 2011

У меня есть два объекта RR и TT с RR.TT_Id (FK) -> TT.Id (PK)

Я хочу отфильтровать записи из RR согласно следующему запросу:

SELECT RR.* FROM RR 
LEFT OUTER JOIN TT ON RR.TT_Id = TT.Id
WHERE TT.Type <> :type ")                                            
 .SetEnum("type", T_TypeEnum.XX)

Итак, добавили критерии следующим образом:

List<RR> lstReportRequests = new List<RR>();

var subQuery = DetachedCriteria.For<TT>()
                            .Add(Restrictions.Not(Restrictions.Eq("Type", T_TypeEnum.XX)))
                            .SetProjection(Projections.Id());

IList<ICriterion> criterions = new List<ICriterion>();

criterions.Add(Restrictions.Eq(RefHelper.ToString<RR>(x => x.OfficeId), officeId));
criterions.Add(Restrictions.In("TT_Id", subQuery)); //*....error - need a collection for second argument*

IMultiCriteria c = session.CreateMultiCriteria();
c.ApplyStrategy<RR>(criterions, strategy.StrategyElements);

Но при попытке добавить DetachedCriterion к IMultiCriteria возникает ошибка -
не может преобразовать из 'NHibernate.Criterion.DetachedCriteria' в 'System.Collections.ICollection '

Подскажите, пожалуйста, как исправить вышеуказанную ошибку?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...