Abp.VNext-数据审计

IHasConcurrencyStamp
  1. IHasConcurrencyStamp添加了由ABP框架管理的 ConcurrencyStamp 属性实现乐观并发。
  2. 实体类继承了 IHasConcurrencyStamp 以后,对该实体的更新就自动带乐观锁了。
ISoftDelete

实现逻辑删除功能,该接口中定义了IsDeleted变量,用于标记实体是否被逻辑删除。实体类继承该接口后,逻辑删除时Abp会察觉到这个行为并阻止其删除,查询时ABP框架默认会过滤掉IsDeleted=true的数据。

IHasCreationTime

该接口含有CreationTime的属性,当实体类继承该接口时便拥有了此属性,当该实体被插入到数据库时, ABP会自动设置该属性的值为当前时间。

public interface IHasCreationTime
{
    DateTime CreationTime { get; set; }
}
IHasModificationTime

该接口含有LastModificationTime的属性,当实体类继承该接口时便拥有了此属性,当该实体被更新时, ABP会自动设置该属性的值为当前时间。

public interface IHasModificationTime
{
    DateTime? LastModificationTime  { get; set; }
}
ICreationAudited

ICreationAudited 扩展自 IHasCreationTime 并且该接口含有CreatorUserId的属性 ,当实体类继承该接口时便拥有了此属性,当该实体被插入到数据库时,ABP会自动设置CreatorUserId的属性值为当前用户的 Id 。

public interface ICreationAudited : IHasCreationTime 
{     
    long? CreatorUserId { get; set; } 
}
IModificationAudited

IModificationAudited 扩展自 IHasModificationTime 并且该接口含有LastModifierUserId的属性 ,当实体类继承该接口时便拥有了此属性,当该实体被更新时,ABP会自动设置LastModifierUserId的属性值为当前用户的 Id。

public interface IModificationAudited : IHasModificationTime
{
    long? LastModifierUserId { get; set; }
}
IAudited

当实体类继承该接口时,便可实现所有审计属性。

posted @ 2024-11-19 18:03  相遇就是有缘  阅读(117)  评论(0)    收藏  举报