【发布时间】:2010-12-05 08:18:09
【问题描述】:
我正在为动态查询实现“QueryEngine”设计模式
与查询语言(如 LINQ)的松散连接。
我很难为列表中的特定元素编写 HQL。
即:
public class Cat()
{
public int ID { get; set; }
public string Name { get; set; }
public Cat Child { get; set; }
}
现在我正在尝试通过他的孩子选择一只猫,所以 HQL 应该是这样的:
SELECT cat FROM CAT as cat
WHERE cat.Child = {"Any value or subsearch"}
但如果我将 Cat 类更改为具有一对多引用:
public class Cat()
{
public int ID { get; set; }
public string Name { get; set; }
public IList<Cat> Children { get; set; }
}
HQL 现在看起来像这样(我正在尝试由列表中的特定子项进行选择)
SELECT cat FROM CAT as cat
WHERE {"Any value or subsearch"} IN elements(Children}
我的问题是,我可以让第二个查询与第一个查询的顺序相似
像这样的:
SELECT cat FROM CAT as cat
WHERE Children CONTAIN {"Any value or subsearch"}
谢谢 [=
【问题讨论】:
标签: nhibernate hql