0

RFP と Bid という 1 対 1 の関係を持つ 2 つのモデルがあります。関連するコードは次のとおりです-

Rfp.hbm.xml:

<one-to-one name="Bid" class="Bid" property-ref="Rfp" />

入札.hbm.xml:

<many-to-one name="Rfp" class="Rfp" column="RfpId" not-null="true" />

Rfp.cs:

public virtual Bid Bid { get; set; }

Bid.cs:

public virtual Rfp Rfp { get; set; }

私が次のことをするとき -

bid.Rfp = Repository.Get<Models.Rfp>(command.BidDetails.RfpId);
Repository.SaveOrUpdate(bid);

RFP の外部キーは Bid レコードに保存されますが、Bid の外部キーは RFP レコードに保存されません。その結果、特定の RFP の入札を取得できず、bid.Rfpnull が返されます。

どうすればこれを達成できますか?

4

1 に答える 1

0

プロパティを拡張する

private Rfp rfp;
public virtual Rfp Rfp
{
    get { return rfp; }
    set {
        rfp = value;
        if (rfp != null && rfp.Bid != this)
            rfp.Bid = this;
    }
}
于 2013-02-25T09:14:23.147 に答える