Con Entity Framework è possibile referenziare tra loro entità in modo molto semplice.
Supponendo di avere l’entità Customer e l’entità Category, che rappresentano rispettivamente un cliente e la sua categoria di appartenenza, nel data model l’oggetto Customer conterrà una proprietà chiamata Category di tipo Category.
In fase di creazione di un nuovo oggetto Customer è necessario associare la Category di appartenenza scelta dall’utente, molto probabilmente mediante una dropdown list contenente la lista delle categorie (DataTextField), e l’Id delle stesse (DataValueField).
Istintivamente, verrebbe di fare una cosa di questo tipo:
che però non funziona in quanto solleva una eccezione del tipo “An entity object cannot be referenced by multiple instances of IEntityChangeTracker”.
Per poter funzionare la reference ha bisogno esclusivamente dell’Id della Categoria di appartenenza del Cliente, e non dell’intero oggetto Category, anche perchè per ricrearlo interamente potrebbe essere necessario accedere al database di memorizzazione.
Occorre semplicemente creare un oggetto EntityKey ed associarlo all’oggetto Customer corrispondente, in questo modo:
Comments are closed.