我有一个使用EF6数据库的项目首先映射到SQL数据库。这是全新的,所以我控制EF模型以及数据库模式。
我目前有一张桌子,为了简单起见,我称之为“车辆”。我使用一个鉴别器列来获取实体Car和Truck的子类。一切正常。
现在我需要进行软删除'并将任何已删除的车辆移至VehicleHistory表。 (尝试这个w / EF之后我可能会使用SQL事务)。这需要是可审阅的,所以我也需要映射这个历史表,但我想将它保留在继承层次结构中,以便在其他类中轻松重用。
我的想法是创造' vehiclecurrent'和' vehiclehistory'用于共享列的车辆的FK&#39的表格。然后我会在EF中使用TPT来获取来自我的TPH类的carcurrent' carhistory'等...(例如carhistory-> car-> vehicle)。这不起作用,我得到错误3034:"具有不同键的实体被映射到同一行"
所以我的问题基本上是如何解决这个问题的?这种方法是否有效,或者有其他方法可以实现这一目标吗?谢谢!