【发布时间】:2020-08-02 16:19:13
【问题描述】:
我正在使用 asp.net core + ef core。我可以向数据库添加删除获取或更新数据。
但是当我执行这些操作时,它可以自动将用户信息和datetime 记录到文件或数据库中吗?
如果我正在更新数据,数据将自动更新 LastModifiedDateTime 和 ModifyUserId 属性。
或将其记录到文件中?
例如: 如果我更新数据库
await _context.SaveChangesAsync(cancellationToken);
我可以这样做:
public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken())
{
foreach (var entry in ChangeTracker.Entries<AuditableEntity>())
{
switch (entry.State)
{
case EntityState.Added:
entry.Entity.CreatedBy = _currentUserService.UserId;
entry.Entity.Created = _dateTime.Now;
break;
case EntityState.Modified:
entry.Entity.LastModifiedBy = _currentUserService.UserId;
entry.Entity.LastModified = _dateTime.Now;
break;
}
}
return base.SaveChangesAsync(cancellationToken);
}
不需要我指定属性而是覆盖它以自动记录它?
如何设置每个实体的属性? 然后我就可以知道什么时候和谁更新了?
【问题讨论】:
-
用你的代码编辑你的问题,对不起,我不明白你的问题
-
已编辑 @alessandro 谢谢
标签: asp.net-core entity-framework-core