0

私はc#でnhibernateを使用しており、2つのクラスがPartnerOrgUnitありPartnerUser 、データベースにPartnerUsersは に関連付けられている3つがあります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>
4

1 に答える 1

0

inverse="true"関連付けPartnerUsersを維持する必要がありますが、そうするための後方参照はありません。PartnerUsersに 3を追加するだけのコードがあるとPartnerOrgUnit思いますが、Nhibernate はそれらを保存しません。

于 2012-05-31T13:30:35.323 に答える