mercoledì 21 luglio 2010

Accedere alle Entity transienti su EntityFramework 4

Nell'esempio, si procede con la registrazione all'evento SaveChanging al fine di permettere l'accesso alle entity transienti di un Context per effettuare eventuali modifiche di pre-salvataggio.  Esempio l'attribuzione di un valore su un campo Note, ecc...

 
public partial class TestWorksEntities
{

    partial void OnContextCreated()    {
        // Ci si registra all'evento scatenato dal SaveChanges
        this.SavingChanges += new EventHandler(context_SavingChanges);
    }

    // metodo pilotato dall'evento di SaveChanges()
    private static void context_SavingChanges(object sender, EventArgs e)
    {
        // Validate the state of each entity in the context
        // before SaveChanges can succeed.
        foreach (ObjectStateEntry entry in
            ((ObjectContext)sender).ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified))
        {
            // entry.entity  da castare alla classe entity di riferimento per accedere alle property 
            // della classe transiente ed effettuare interventi prima del trasferimento sul db delle informazioni.

        }
    }
}

0 commenti:

Posta un commento