asp.net 在EFCore中保存CreatedOn和ModifiedOn的最佳方法?

ssgvzors  于 2023-03-13  发布在  .NET
关注(0)|答案(1)|浏览(117)

当一个实体被创建或更新时,更新日期时间的最佳方法是什么?我正在使用这个方法,有没有关于它的优点和缺点的想法?

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
        }
brccelvz

brccelvz1#

请看这里,使用了SaveChangesInterceptor,但据我所知,它的操作https://github.com/jasontaylordev/CleanArchitecture成本很高

相关问题