当一个实体被创建或更新时,更新日期时间的最佳方法是什么?我正在使用这个方法,有没有关于它的优点和缺点的想法?
public interface ITimeAudit
{
public DateTimeOffset CreatedOn { get; }
public DateTimeOffset ModifiedOn { get; }
void UpdateModifiedOn();
}
在我实体中,我继承了ITimeAudit,然后覆盖dbContext中保存更改。
public override int SaveChanges()
{
SetProperties();
return base.SaveChanges();
}
private void SetProperties()
{
foreach (var entity in ChangeTracker.Entries().Where(p => p.State == EntityState.Modified))
{
if (entity.Entity is ITimeAudit updated)
{
updated.UpdateModifiedOn();
}
}
//and a logic for created
}
1条答案
按热度按时间brccelvz1#
请看这里,使用了SaveChangesInterceptor,但据我所知,它的操作https://github.com/jasontaylordev/CleanArchitecture成本很高