ASP.NET Core MVC problema no override SaveChangesAsync

01/09/2018

0

Boa noite.
Em todas as tabelas do meu banco de dados eu criei o campo DataCadastro, e quero que no momento de inserir, verifique se o campo DataCadastro tem valor. Se não tiver então coloca a data atual.
O problema é que na função "public override int SaveChanges()" funciona normal, mas quando coloco na função "public override async Task<int> SaveChangesAsync" da erro no salvar. O código completo é:
public override async Task<int> SaveChangesAsync(bool acceptAllChangesOnSuccess, CancellationToken cancellationToken = default(CancellationToken))
        {
            foreach (var entry in ChangeTracker.Entries().Where(entry => entry.Entity.GetType().GetProperty("DataCadastro") != null))
            {
                if (entry.State == EntityState.Added)
                {
                    entry.Property("DataCadastro").CurrentValue = DateTime.Now;
                }

                if (entry.State == EntityState.Modified)
                {
                    entry.Property("DataCadastro").IsModified = false;
                }
            }
            return await base.SaveChangesAsync();
        }


Alguém tem alguma idéia do que pode ser?
Guilherme Schirmer

Guilherme Schirmer

Responder

Posts

09/09/2018

Joel Rodrigues

Qual erro ocorre?
Responder

17/06/2020

Wolney Rodrigues

A assinatura de SaveChangesAsync requer um CancellationToken .

 public async override Task<int> SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken()) 
{ 
await AquiVaoSuasOperacoes(); 
return base.SaveChangesAsync(cancellationToken);
 } 

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar