我是通用流利NHibernate和ORM工具的新手。在這種情況下,我不確定我應該期待什麼。我有基金,持有和資產表與相應的對象。基金對象擁有一個集合,每個持有都有一個資產。當我保存基金時,我希望隨後的持股和資產可以保存。我對流利NHibernate有什麼期待?
我似乎有這種情況發生,但是,我似乎試圖插入一個新的記錄到每個表中,而不是更新現有的。我在數據庫中有獨特的約束,所以保存失敗。我是否需要查詢現有持股和資產以使其更新?
我確定已經有這個問題的答案,但我無法弄清楚如何搜索找到它。
在此先感謝。下面的相關映射
public FundMap()
{
...
HasMany(x => x._holdings)
.Cascade.All();
}
public HoldingMap()
{
...
References(x => x._fund);
References(x => x._asset).Cascade.SaveUpdate();
...
}
我很確定這是會話管理的問題。你能顯示失敗的代碼嗎? –
@Stefan,我真的很確定這不是一個會話問題,我實際上得到一個數據庫唯一的約束違反異常消息,並保存工作第一次,正如預期與一個獨特的列,我認爲下面的答案更接近於我沒有提供鍵值,我將不得不查詢數據庫來檢索。我現在不在我的個人機器前面,所以我不能給出確切的信息,但我對我對問題的描述非常有信心。 – kirps