class Parent
{
IList<Child> Children;
}
class Child
{
}
當刪除Child
我需要從引用任何Parents
刪除對它的所有引用。
我如何在NHibernate中做到這一點?
沒有Parent
FK
上Child
,關係存儲在第三屆「鏈接」表
感謝
class Parent
{
IList<Child> Children;
}
class Child
{
}
當刪除Child
我需要從引用任何Parents
刪除對它的所有引用。
我如何在NHibernate中做到這一點?
沒有Parent
FK
上Child
,關係存儲在第三屆「鏈接」表
感謝
這不是父子關係。孩子只有一位父母(屬於父母)。這是獨立實體之間的多對多關係。這是一個重要的區別。
你不能直接在HQL中按照它現在設計的方式從「父」中刪除「子」。這是你的選擇:
要實現這一點,需要有某種形式的關係,從開始子實體。
然後,你可以簡單地使用級聯刪除到其3d(我猜這是一個多對多)表。
啊你說得對,它是一對多的。衛生署!有沒有辦法做到這一點,但沒有將關係映射到孩子端?讓它在我的領域沒有意義。我想我可以把它變成私人的,但它感覺像是一個黑客 – 2010-09-06 09:18:34
它似乎在你的域名中是有意義的,因爲你需要一個在刪除時發生的動作......我只是簡單地將它添加到映射中。如果你真的不想那麼做,也許你可以在你的FK上設置數據庫中的級聯... – Bertvan 2010-09-06 09:31:12
是的,我意識到它是一個多對多的對手,一直在愚蠢。我添加了一個屬性到'Child',但是簡單地說它是私有的,使得刪除能夠自動清理而不會暴露集合 – 2010-09-06 10:21:08