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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar