Ciao a tutti
Ho un problema che mi preoccupa su cui sto sbattendo la testa da un po di tempo che riguarda le navigation property di Entity Framework.
In sostanza: ho una classe con un metodo per il salvataggio delle modifiche applicate ad un Customer. La mia entity Customer ha una navigation property chiamata ModificationUser di tipo User. All'interno della mia classe ho un dataContext unico ed ho una istanza di User attached a quel dataContext. Anche il Customer in questione appartiene a quel dataContext, ed è in stato modified.
Arrivo quindi al problema: quando assegno al customer lo user viene generata un eccezione che proprio non riesco a capire.
Questo codice:
...
MyCustomer.ModificationUser = MyUser;
...
Genera questa eccezione:
An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key.
Ho provato anche ad esaminare il contenuto di ObjectStateManager a runtime prima dell'assegnazione, ma non vi ho trovato nulla che mi facesse risalire allo user.
Tenete conto che il problema si ripropone anche per le altre Navigation Property (se aggiungo il customer ai customer associati allo user, se imposto la Currency al customer e così via...)
Qualcuno ha qualche idea?
Grazie mille
Matteo