NHibernate一对多只获取单行

时间:2012-05-29 12:40:10

标签: c# nhibernate

我在c#中使用nhibernate,我有两个类PartnerOrgUnitPartnerUser 在数据库中,我有3 PartnerUsersPartnerOrgUnit相关联。

但当我_partnerOrgUnitRepository.FindAll()时,它只会给我第一行PartnerUsers

FindAll()方法包括 -

session.CreateCriteria(typeof(T)).List<T>()

我的代码如下 -

public class PartnerOrgUnit {
    public IList<PartnerUsers> PartnerUsers { get; set; }
}

public class PartnerUsers{
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    public string LastName { get; set; }
    public string EmailAddress { get; set; }
    public string WorkPhone { get; set; }
}

PartnerOrgUnit.hbm.xml文件中,我的代码类似于 -

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
    namespace="PMPS.Model.Partner.OrgUnit"
    assembly="PMPS.Model">

        <bag name="PartnerUsers" inverse="true" lazy="true" cascade="all">
            <key column="PartnerUserId"/>
            <one-to-many class="PMPS.Model.Partner.User.PartnerUsers"/>
        </bag>
    </class>
</hibernate-mapping>

1 个答案:

答案 0 :(得分:0)

inverse="true"表示PartnerUsers应保持关联,但没有反向引用。我怀疑有些代码只会将3 PartnerUsers添加到PartnerOrgUnit,但Nhibernate不会保存它们。