如何在NHibernate中查询集合
我有一门课:如何在NHibernate中查询集合,nhibernate,dictionary,map,Nhibernate,Dictionary,Map,我有一门课: public class User { public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual IDictionary<string, string> Attributes { get; set; } } 和映射文件: <class name="User" table="Users"> <id
public class User
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual IDictionary<string, string> Attributes { get; set; }
}
和映射文件:
<class name="User" table="Users">
<id name="Id">
<generator class="hilo"/>
</id>
<property name="Name"/>
<map name="Attributes" table="UserAttributes">
<key column="UserId"/>
<index column="AttributeName" type="System.String"/>
<element column="Attributevalue" type="System.String"/>
</map>
</class>
因此,现在我可以向用户添加许多属性和值。
如何查询这些属性以便获得ie。
获取attributename为Age且属性值为20的所有用户?
我不想在foreach中这样做,因为我可能有数百万用户,每个用户都有其独特的属性
请帮助您可以使用HQL来完成 例如:
from User u join u.Attributes attr
where index(attr) = 'Age' and attr = '20'