可版本实体
Versionable Entities
我正在开发一个使用 ASPNET Boilerplate 的项目,其中一些实体必须进行版本控制,因此它们有一个 Id 和一个版本号,其中同一个实体可以有多个版本,例如:
Documents:[
{Document:{id:1, version:1}},
{Docuemnt:{id:1, version:2}}]
所以我的问题是是否有一种简单的方法可以做到这一点,比如软删除的实现,我可以在其中拦截更新方法,以便它创建一个新版本。
您可以覆盖 DbContext
中的 ApplyAbpConcepts
以在修改 Document
实体时创建一个新实体,然后重新加载原始实体,以便不保存其更改。
CancelDeletionForSoftDelete
做了类似的事情。
但是仅仅这样做是行不通的,因为主键是唯一的。你可以 .
您还必须处理关系(即外键)以避免链接到多个版本。
我正在开发一个使用 ASPNET Boilerplate 的项目,其中一些实体必须进行版本控制,因此它们有一个 Id 和一个版本号,其中同一个实体可以有多个版本,例如:
Documents:[
{Document:{id:1, version:1}},
{Docuemnt:{id:1, version:2}}]
所以我的问题是是否有一种简单的方法可以做到这一点,比如软删除的实现,我可以在其中拦截更新方法,以便它创建一个新版本。
您可以覆盖 DbContext
中的 ApplyAbpConcepts
以在修改 Document
实体时创建一个新实体,然后重新加载原始实体,以便不保存其更改。
CancelDeletionForSoftDelete
做了类似的事情。
但是仅仅这样做是行不通的,因为主键是唯一的。你可以
您还必须处理关系(即外键)以避免链接到多个版本。