martedì 25 novembre 2014

Entity Framework C# Creating a copy of an entity object

Nella gestione delle entità, può capire l'esigenza di avere due oggetti con gli stessi dati, compresa anche la chiave primaria. E di creare una copia dell'oggetto (tranne per il valore chiave) come nuovo record.
Se proviamo a modificare la chiave, verrà scatenata un'eccezione, nel quale non è possibile modificare il campo chiave.
Per risolvere tale problema, dobbiamo utilizzare il metodo ChangeObjectState della proprietà ObjectStateManager della classe contesto
Qui di seguito un esempio ne linguaggio C#:


MIATABELLA objTab = Dato();
  Context.ObjectStateManager.ChangeObjectState(objTab , EntityState.Added);
objTab.ProprietA1 = "Valore";
objTab.CHIAVE = "Nuovo valore";
 Context.SaveChanges();

Nessun commento: