none
entityframework update CurrentValues.SetValues non funziona RRS feed

  • Domanda

  • ciao a tutti, sto cercando di aggiornare una mia entità. sono in uno scenario wpf mvvm entity framework code first.Ho una semplice finestra per inserire una fatture , faccio ricerca modifico un record e poi faccio salva.

    In questo momento mi deve aggiornare il record. Ma non funziona. Entro più nel dettaglio.

    Utilizzo un unico contesto per le operazioni crud. HO uno scenario EntityState.Detached.

    Riporto parti di codice per capire meglio:

    Questo e il mio viewmodel:

    public RepositoryBase<TestataFatturaImmediataVendita> testataFatturaImmediataRepository;

      public DocumentoVenditaViewModel()
            {

                testataFatturaImmediataRepository = new RepositoryBase<TestataFatturaImmediataVendita>(Context);

    }

        protected override void Salva(object _obj)
            {

    if (Testata.Id != Guid.Empty){

    testataFatturaImmediataRepository.Aggiorna(newTestata);

    }

    }

    Questo è il repositoryBase, è un repositori generico:

      public class RepositoryBase<T> where T : class,IEntityBase
        {
            private readonly DbSet<T> ctx;
            internal DbContext context;
    
            public RepositoryBase(DbContext _context)
            {
                context = _context;
                ctx = _context.Set<T>();
    		} 
    
           public virtual void Aggiorna(T entityToUpdate)
            {
                var existingEntity = ctx.Local.SingleOrDefault(e => e.Id == entityToUpdate.Id);
                if (existingEntity != null) { 
                    var attachedEntry = context.Entry(existingEntity);
                    attachedEntry.CurrentValues.SetValues(entityToUpdate);
                }
                else
                {
                    context.Entry(entityToUpdate).State = EntityState.Modified; 
                }
                context.SaveChanges();
            }
    }


    No mi da nessuno errore ma non mi aggiorna nel db la modifica. Cosa può essere?

    EDIT:

    Ho due tabelle cn una relazioni uno a molti Testata e Corpo , ho notato che se modifico la testata me l aggiorna ma il corpo resta invariato 

    • Modificato brux88 lunedì 17 marzo 2014 15:16
    lunedì 17 marzo 2014 11:32