在我的上下文中,我有两个实体,实体A继承自B,它们使用流畅的API进行映射并且工作了一段时间。
但现在我需要更改它,当基本实体被删除时,我需要在数据库中维护实体 B 。
EF6可以吗?默认行为是从两个表中删除记录。
我想过将它从继承更改为组合,但更愿意只更改删除行为。
提前致谢。
答案 0 :(得分:2)
只要A不是抽象的,它就可以工作。 如果删除TPT映射对象,EF将为基数发送一个删除语句,为继承表发送一个删除语句。
您可以使用命令拦截器来阻止执行基本删除,也可以使用存储过程映射进行删除。
如果A是抽象的,您可以继承DeletedA类并在DeleteA存储过程中创建相应的entiry。