繁体   English   中英

NHibernate:将查询结果映射到映射文件中的列表属性

[英]NHibernate: Mapping query results to a list property in mapping file

我有一个Contact类,我想为用户提供City和Province的自动完成功能。

我以为我在Contact对象中创建了两个集合,并从它们的联系表中加载了城市和省份:

public class Contact {  
    public virtual string Name { get; set; }  
    public virtual string City { get; set; }  
    public virtual string Province { get; set; }  
    public virtual IList<String> Cities { get; set; }  
    public virtual IList<String> Provinces { get; set; }  
}

并具有如下映射文件:

<class name="Contact">  
    <id name="Id">  
        <generator class="native">  
            <param name="sequence">contact_id_seq</param>  
        </generator>  
    </id>  
<property name="Name" />  
<property name="City" />  
<property name="Province" />  
<property name="Cities" type="string" formula="SELECT DISTINCT city FROM contact" />  
<property name="Provinces" type="string" formula="SELECT DISTINCT province FROM contact" />  
</class>

但这是行不通的。 有什么办法可以实现?

谢谢。

属性上的公式是一个SQL表达式,它定义了属性的值,因此select应该返回一个值。 另外,通过按照您提议的方式工作,您将在每个实体上重复这些值,也许最好将其定义为静态列表,并在例如创建新会话时用自定义hql填充值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM