我想编写一个查询,在QueryOver中过滤基类型的子集合。例如......
class Person{
List<Contact> contacts;
}
class Contact{
string PhoneNumber;
bool isHome;
}
然后
QueryOver.Of<Person>()
.JoinQueryOver(p => p.Contact)
.Where(c => c.isHome);
我想要返回所有人并且每个人只有联系人集合中填充了isHome为真的联系人。
我试过变形金刚尝试获得正确的结果。 DistinctRootEntity转换器不会在子集合上保留预期的过滤器。 AliasToEntityMap返回正确的行,但结果作为Dictionary而不是Root类型返回。
我正在尝试替换NHibernate过滤器的用法。我不确定这是否可行。
答案 0 :(得分:1)
几乎在发布后我立即找到了我的问题的答案。为了实现我试图获得的所有要求,只需指定JoinType和Transformer。
View btn_v = view.findViewWithTag(aiPickedButton);
System.out.println("Button: " + btn_v);
btn = (Button) btn_v;
System.out.println("Button: " + btn);
现在我让所有人只有他们的家庭联系人