0
對於我們的測試設備,我們使用NHibernate生成數據庫模式。我們有一個奇怪的例子,其中一個實體引用另一個實體,但我們不希望有一個外鍵約束(應該可以刪除引用的實體,因此不能使用外鍵)。Nhibernate - 生成沒有設置密鑰的模式
是否可以指定生成的模式沒有特定關係的外鍵?
對於我們的測試設備,我們使用NHibernate生成數據庫模式。我們有一個奇怪的例子,其中一個實體引用另一個實體,但我們不希望有一個外鍵約束(應該可以刪除引用的實體,因此不能使用外鍵)。Nhibernate - 生成沒有設置密鑰的模式
是否可以指定生成的模式沒有特定關係的外鍵?
Jay-
如果您在使用功能NHibernate,你可以把這個在您的信息實現IHasManyConvention或IReferenceConvention(如果使用慣例)。
Cascade.SaveUpdate()應該傳播保存和更新,但在父項被刪除時保留孤兒子對象。
在標準NHibernate的HBM文件,我相信一個袋子的標籤應該是這樣的:
<bag cascade="save-update" name="EntityName"> ... </bag>
更新:這是一個信息發佈者Ayende上成爲孤兒的子對象的主題,與級聯值的差異。
如果刪除引用的實體,想必你應該更新引用它的的entites?如果沒有這樣做,你就違背了參照完整性。 – 2009-08-20 10:25:18
這就是意圖。在這個特殊的(不尋常的)情況下,我們希望能夠刪除實體而不更新引用它的實體。外鍵查找應該默默地失敗。 – 2009-08-20 10:42:58