public override async Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
{
DateTime now = DateTime.UtcNow;
foreach (var entry in ChangeTracker.Entries<BaseEntity>())
{
switch (entry.State)
{
case EntityState.Added:
if (entry.Entity.CreatedAt == DateTime.MinValue)
{
entry.Entity.CreatedAt = now;
}
entry.Entity.ModifiedAt = now;
break;
case EntityState.Modified:
entry.Entity.ModifiedAt = now;
break;
}
Console.WriteLine($"Entity Type: {entry.Entity.GetType().Name}, State: {entry.State}, CreatedAt: {entry.Entity.CreatedAt}, ModifiedAt: {entry.Entity.ModifiedAt}");
}
return await base.SaveChangesAsync(cancellationToken);
}
}
public override async Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
{
DateTime now = DateTime.UtcNow;
foreach (var entry in ChangeTracker.Entries<BaseEntity>())
{
switch (entry.State)
{
case EntityState.Added:
if (entry.Entity.CreatedAt == DateTime.MinValue)
{
entry.Entity.CreatedAt = now;
}
entry.Entity.ModifiedAt = now;
break;
case EntityState.Modified:
entry.Entity.ModifiedAt = now;
break;
}
Console.WriteLine($"Entity Type: {entry.Entity.GetType().Name}, State: {entry.State}, CreatedAt: {entry.Entity.CreatedAt}, ModifiedAt: {entry.Entity.ModifiedAt}");
}
return await base.SaveChangesAsync(cancellationToken);
}
}