42 lines
1.0 KiB
Markdown
42 lines
1.0 KiB
Markdown
## 简介
|
||
审计日志是对数据的操作记录
|
||
例如:
|
||
1. 数据的创建者
|
||
2. 数据的创建时间
|
||
3. 数据的更新者
|
||
4. 数据的更新时间
|
||
|
||
对于重要的数据,我们应该提供审计日志功能,方便进行数据追溯
|
||
框架内部已`自动集成`,使用起来非常简单
|
||
## 如何使用
|
||
我们把全部的审计日志封装一个对象
|
||
你的**实体**可直接继继承或者实现接口
|
||
AuditedObject与IAuditedObject
|
||
|
||
它包含4个属性字段,
|
||
``` cs
|
||
public DateTime CreationTime { get; set; }= DateTime.Now;
|
||
|
||
public Guid? CreatorId { get; set; }
|
||
|
||
public Guid? LastModifierId { get; set; }
|
||
|
||
public DateTime? LastModificationTime { get; set; }
|
||
|
||
```
|
||
|
||
**在执行插入的时候:**
|
||
会自动为`CreationTime` 与 `CreatorId` 赋值
|
||
|
||
|
||
**在执行更新的时候:**
|
||
会自动为`LastModificationTime` 与 `LastModifierId` 赋值
|
||
|
||
当然,如果只需要部分的审计日志,你完全可以实现单独的接口
|
||
分别为:
|
||
``` cs
|
||
IHasCreationTime
|
||
IMayHaveCreator
|
||
IModificationAuditedObject
|
||
IHasModificationTime
|
||
``` |