【发布时间】:2011-06-29 18:32:40
【问题描述】:
我正在尝试创建一个标准查询,该查询通过 useruploaded 获取“RejectedRecords”,这些查询未标记为已删除,或者 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>();
}
【问题讨论】: