2014-06-25 61 views
0

在我的上下文中,我有兩個實體,實體A從B繼承,它們映射到流暢的API並工作了一段時間。EF6 - 刪除基本類記錄

但現在我需要改變它,當基本實體被刪除時,我需要在數據庫中維護實體B

EF6上有可能嗎?默認行爲是從兩個表中刪除記錄。

我想將它從繼承改爲組合,但寧願只改變刪除行爲。

在此先感謝。

+0

你應用了什麼類型的繼承?表每類型? B有自己的表和表A(它提供了A的附加屬性)引用表B,對嗎?而當你刪除A時,你想把行保留在B中,對嗎? – mr100

+0

我有兩個表,一個用於基類,另一個用於孩子。 – bateloche

回答

2

只要A不是摘要,它就可以工作。 如果您刪除TPT映射的對象,EF將爲基礎發送兩個刪除語句,一個用於繼承的表。

您可以使用命令攔截器來防止執行基本刪除,或者您可以使用存儲過程映射進行刪除。

如果A是抽象的,您可以繼承DeletedA類並在DeleteA存儲過程中創建對應的entiry。

+0

謝謝,這真是我以前沒有的方式。 – bateloche