我在c#中使用nhibernate,我有两个类PartnerOrgUnit
和PartnerUser
在数据库中,我有3 PartnerUsers
与PartnerOrgUnit
相关联。
但当我_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>
答案 0 :(得分:0)
inverse="true"
表示PartnerUsers
应保持关联,但没有反向引用。我怀疑有些代码只会将3 PartnerUsers
添加到PartnerOrgUnit
,但Nhibernate不会保存它们。