【发布时间】:2013-01-03 22:08:22
【问题描述】:
我有这个代码:
if (pertinentDataExists) {
List<Entity> operatorList = new List<Operator>();
List<Entity> newOperatorList = criteria.newOperatorList;
foreach (Operator operator in operatorList)
{
operatorList.Add(operator);
}
queryCriteria.CreateCriteria("OperatorList").Add(Restrictions.In("Operator", operatorList));
}
然后:
if (otherPertinentDataExists) {
Object[] objects = new Object[criteria.newRoleTypeList.Count];
for (int = 0; i < criteria.RoleTypeList.Count; i++) {
objects[i] = criteria.RoleTypeList[i].Id;
}
queryCriteria.CreateCriteria("OperatorList").Add(Restrictions.In("Role", objects));
}
这些单独工作就好了。但是,如果这两种情况都有添加到列表中的条件,那么我得到:
NHibernate.QueryException 消息:重复关联路径: 运算符列表
如果条件已创建,我如何为 Role 添加限制?
【问题讨论】:
-
看起来你可以用
GetCriteriaByPath("OperatorList")检查它是否已经存在
标签: c# nhibernate