1

我有一個SQL 表 - table_description有三列。如何保存值爲0的parentId?對象引用未保存的瞬態實例

1)ID - 身份和主鍵

2)說明

3)PARENT_ID - 這個鏈接回到ID在同一個表。

ID = 0是其中一行的記錄。當我嘗試創建一個新的紀錄,Parent_Id = 0,NHibernate的拋出了我的錯誤:

object references an unsaved transient instance - save the transient instance before flushing or set cascade action for the property to something that would make it autosave

我猜這是因爲當NHibernate的嘗試生成一個新的記錄,它看起來如果ID =0,並因爲它認爲parent_Id = 0,它認爲存在依賴性。

這樣理解,我們如何用parent_Id = 0創建新記錄?

感謝,

回答

2

試圖將ID's unsaved-value屬性設置爲某個值不會在你的表中,即-1。整數列的默認值是。

您可以用流利的映射類改變這樣的:

Id(x => x.ID).UnsavedValue(-1); 
+0

謝謝回答。實際上,我只是通過從數據庫獲取父記錄並將其分配給ParentId而不是執行'parentId = new Descrption {id = 0}'來找出解決方法。 – Nobody 2012-08-08 19:47:04

相關問題