0

我正在使用NHibernate的MVC應用程序。我正在屏幕上顯示客戶信息和訂單對象。據猜測,客戶實體擁有List屬性,Order實體擁有客戶財產。NHibernate將如何更新父表和子表

我通過將它們存儲在會話中來附加訂單對象。用戶可以添加/刪除訂單,因此我已將修改的訂單附加到客戶對象。但是當我看到sql語句時,它插入了預期行爲的新訂單,但對於它正在使用customer_id = null進行更新的已刪除訂​​單而不是完全刪除它們?

感謝, 森迪普•

回答

1

你正在尋找cascade options
您的訂單被刪除的原因是您保留了一個空集合,因此nHibernate假定該集合是故意清空的,並通過刪除關聯更新了Db中的集合項。

您最想要的行爲是AllDeleteOrphan,它會刪除從您的客戶中刪除的訂單。

+0

感謝sJhonny的信息。 – Sunny

相關問題