コード例 #1
0
        public void Update(Telemetria telemetria)
        {
            if (_dbContext.Entry(telemetria).State == Microsoft.EntityFrameworkCore.EntityState.Detached)
            {
                _dbContext.Attach(telemetria);
                _dbContext.Entry(telemetria).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            }
            else
            {
                _dbContext.Update(telemetria);
            }

            _dbContext.SaveChanges();
        }
コード例 #2
0
        public void UpdateFull(Temporada temporada)
        {
            if (_dbContext.Entry(temporada).State == Microsoft.EntityFrameworkCore.EntityState.Modified)
            {
                _dbContext.Attach(temporada);
                _dbContext.Entry(temporada).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            }
            else
            {
                _dbContext.Update(temporada);
            }

            _dbContext.SaveChanges();
        }
コード例 #3
0
        public void UpdateFull(Equipe equipe)
        {
            if (_dbContext.Entry(equipe).State == Microsoft.EntityFrameworkCore.EntityState.Detached)
            {
                _dbContext.Attach(equipe);
                _dbContext.Entry(equipe).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            }
            else
            {
                _dbContext.Equipes.Update(equipe);
            }

            _dbContext.SaveChanges();
        }
コード例 #4
0
        public void UpdateFull(Piloto piloto)
        {
            // Esse estado é quando no tratamento do PUT (UpdateFull)
            if (_rallyDakarDbContext.Entry(piloto).State == Microsoft.EntityFrameworkCore.EntityState.Detached) // Detached = não anexado
            {
                /* Essa instância não está "anexada" ao EF, isso impede que seja feita qlq operação com ela, então é feito o Attach */
                _rallyDakarDbContext.Attach(piloto);

                /* A partir do momento que a instância está no controle/monitoração do EF, ela é marcada como modificada, ou seja
                 * todos as propriedades (campos) estão modificados (conteúdo modificado).
                 * Há como marcar somente os campos que de fato foram modificados. Melhor performance.
                 *
                 * Eu forço o estado para modificado, pq como estava Detached é pq a instância "piloto" ainda não está sendo monitorada
                 */
                _rallyDakarDbContext.Entry(piloto).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            }
            else // Simplesmente atualizo. UpdatePartial
            {
                _rallyDakarDbContext.Update(piloto);
            }

            _rallyDakarDbContext.SaveChanges(); // vai gerar o script UPDATE com todas/algumas das colunas.
        }