可版本化的实体

时间:2018-01-23 21:07:01

标签: aspnetboilerplate

我正在使用ASPNET Boilerplate开发一个项目,其中一些实体必须进行版本控制,因此它们有一个Id和一个versionNumber,其中同一个实体可以有多个版本,如:

RedirectMatch 301 ^/$ http://newsite.com.in/

所以我的问题是,如果有一种简单的方法可以做到这一点,比如软删除的实现,我可以拦截更新方法,以便创建一个新版本。

1 个答案:

答案 0 :(得分:0)

您可以在DbContext中覆盖ApplyAbpConcepts,以便在修改Document实体时创建新实体,然后重新加载原始实体,以便不保存其更改。 CancelDeletionForSoftDelete做了类似的事情。

但这样做是行不通的,因为主键是唯一的。你可以create a composite key

您还必须处理关系(即外键)以避免链接到多个版本。