Я пытаюсь создать запрос критерия, который захватывает «RejectedRecords» с помощью useruploaded, которые не помечены как удаленные или объект в RejectedRecord находится в списке объектов, которым назначен пользователь (user.UserFacilities). У меня первая часть работает нормально (по пользователю и не удалено), но я не уверен, как добавить предложение OR, чтобы получать записи, которые находятся в наборе пользовательских средств. В SQL это будет выглядеть так:
SELECT *
FROM RejectedRecords
WHERE (UserUploaded = 1 AND IsDeleted = 0)
OR FacilityId IN (SELECT FacilityId FROM UserFacility WHERE UserId = 1)
Вот моя попытка в C # (Не уверен, как выполнить подзапрос):
public IList<RejectedRecord> GetRejectedRecordsByUser(User u)
{
return base._session.CreateCriteria(typeof(RejectedRecord))
.Add(
(
Expression.Eq(RejectedRecord.MappingNames.UserUploaded, u)
&& Expression.Eq(RejectedRecord.MappingNames.IsDeleted, false)
)
)
.List<RejectedRecord>();
}