【发布时间】:2016-06-14 14:41:30
【问题描述】:
所以我正在尝试使用 HQL 执行 Select 语句。
选择看起来像这样:
queryParams[1] = new QueryParameter("clientObj", client); // Use Client as obj in hql
queryParams[0] = new QueryParameter("clientIDObj", client.ID);
if (!includeClosedSubTasks)
{
// tasks that aren't completed / closed / cancelled
qryString = "select st
from SubTask st
where st.ParentTask.ParentProject.ParentClient=:clientObj
and st.ParentTaskCategory.VisibleToClient=1 "
+ filter + // more ands
"and st.ParentTaskStatus.ID != 3
and st.ParentTaskStatus.ID != 4 and st.ParentTaskStatus.ID != 8
or st.RaisedByClientID=:clientIDObj
order by st.CreateDateTime";
}
简单来说,应该是这样的:
选择 (a AND b AND c) OR (d) ORDER BY ...
但是,当我执行这段代码时,我得到一个带有这个内部异常的查询语法错误:
{"索引超出范围。必须为非负数且小于集合的大小。\r\n参数名称:索引"}
我该如何解决这个问题?
【问题讨论】:
标签: c# nhibernate hql