如何保存两个表中的外键?-nhibernate
本文关键字:-nhibernate 何保存 保存 两个 | 更新日期: 2023-09-27 18:00:24
我有两个模型,它们之间有一对一的关系——RFP和Bid。这是相关代码-
Rfp.hbm.xml:
<one-to-one name="Bid" class="Bid" property-ref="Rfp" />
Bid.ibm.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的外键保存在投标记录中,但投标的外键不保存在RFP记录中。因此,我不能通过说bid.Rfp
来获得特定的RFP的出价——它返回null。
我怎样才能做到这一点?
扩展属性
private Rfp rfp;
public virtual Rfp Rfp
{
get { return rfp; }
set {
rfp = value;
if (rfp != null && rfp.Bid != this)
rfp.Bid = this;
}
}