2012-02-24 24 views
2

在一個新項目,我創建了一流的假設ProductSpecialGroup:如何使用NHibernate並保護某些表的數據?

ProductSpecialGroup 
- string Name 
- IList<Product> Products 

在這個項目中,我不得不也創建已經存在,並使用更多的項目在產品表中的映射。

有沒有什麼辦法可以告訴nhibernate:不要碰這張表,不要更新/刪除它,只需從中選擇?或者至少有什麼配置(我認爲級聯),我需要檢查以確保myProductSpecialgroup.Products.Clear()不會造成災難?

回答

4

如果您在表映射中設置「mutable」= false,它會將其視爲只讀。還要確保您可以將級聯從父級設置爲「無」

+0

我並不知道這件事,謝謝。關於級聯:多對多關係如果級聯是無,它會保存關係嗎? – 2012-02-24 15:28:57

+0

它不會,所以如果是這樣,請繼續並允許級聯。只要表映射是可變的,你就是安全的。級聯不是一個額外的預防措施。 – swannee 2012-02-24 15:44:14

+0

也在級聯 - 將其設置爲「全部」。所有這些都將刪除關係,但不是許多人的另一方。相反,如果它成爲孤兒(沒有其他關係),那麼級聯「全部刪除孤兒」也會刪除多數人的另一方。 – swannee 2012-02-24 16:00:53

1

使用mutable =「false」並檢查swannee提出的級聯。除此之外,如果它很關鍵,請考慮使用視圖或考慮僅授予該表的讀取權限。

相關問題