my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Libro WP7
|
Libro HTML5
|
Corso on-site HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Lab
Media
Tutorials
Corsi
Libri
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
Entity Framework, errore nell'aggiungere un oggetto collegato
in
.NET Framework
>
ASP.NET 2.0
Ultimo messaggio
bovac
il 3 febbraio 2010 alle 17:20
120 messaggi
dal 24 febbraio 2006
Ciao a tutti,
ho un oggeto (es. Ordine) caricato con entityframework (detached dal suo originale context) che risalvo dopo averlo popolato con dei dati raccolti da una form (facendo un attach ad un context)
Tutto funzionava correttamente.
Questo oggetto ha ora una entità collegata (es. Riga) di cui posseggo l'id.
Carico l'oggetto tramite l'id da una classe che usa il suo Context e lo associo all'oggetto padre (prima di averlo salvato), es:
...
Ordine.Data = ...;
Ordine.Riga = RigaEF.load(idRiga);
....
Sull'ultima assegnazione mi da questa eccezione:
"Impossibile definire la relazione tra i due oggetti perché sono connessi a oggetti ObjectContext diversi."
Il messaggio è chiaro..ma come faccio ad aggirare il problema?
Io chiaramente non ho più accesso al vecchio context, c'è un'altra strada??
Ciao grazie
Frederick@CityOfCastle
Rispondi
Quoting
Cradle
il 3 febbraio 2010 alle 21:18
1.856 messaggi
dal 01 luglio 2004
Contributi
www.aspitalia.com
|
Blog
Dovresti effettuare il detach della riga oppure caricare l'oggetto con il tracking disabilitato.
m.
Rispondi
Quoting
bovac
il 4 febbraio 2010 alle 08:57
120 messaggi
dal 24 febbraio 2006
Se faccio il detach di Riga quando vado a fare l'operazione incriminata mi da questa eccezione al posto della precedente
"Impossibile aggiungere l'oggetto a ObjectStateManager perché include già un elemento EntityKey. Utilizzare ObjectContext.Attach per connettere un oggetto che dispone di una chiave esistente"
Ha funzionato invece disabilitando il tracking dell'Ordine,
grazie
ciao
Frederick@CityOfCastle
Rispondi
Quoting
bovac
il 4 febbraio 2010 alle 09:10
120 messaggi
dal 24 febbraio 2006
No scusa preciso...
applicando sia il detach dell'oggetto Riga dal proprio contesto, sia disabilitando il Tracking per l'oggetto Ordine NON DA ERRORE.
Ma ho poi verificato che NON SALVA il riferimento alla riga (ossia nel DB non trovo il campo Ordine.idRiga valorizzato)
L'unica peculiarità è che l'oggetto Ordine, siccome detached lo riaggancio al nuovo contesto di salvataggio tramite una routine che avevo preso dal sito MS:
EntityKey key; object originalItem;
// Create the detached object's entity key.
key = context.CreateEntityKey(entityName, obj);
// Get the original item based on the entity key from the context
if (context.TryGetObjectByKey(key, out originalItem))
// Call the ApplyPropertyChanges method to apply changes
// from the updated item to the original version.
context.ApplyPropertyChanges(key.EntitySetName, obj);
//
context.SaveChanges();
Come ne esco?
Ciao grazie
Frederick@CityOfCastle
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
Libri
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
E-commerce
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Rilasciato il bollettino MS11-100 per risolvere i problemi di attacchi DoS di ASP.NET
I più letti di oggi
Preview 2 di ASP.NET MVC 2.0 ed una nuova versione per AJAX Control Toolkit
.NET Campus: Creare applicazioni veloci e user-friendly con jQuery, Microsoft AJAX Library e ASP.NET
Creazione di un alarm con suono personalizzato con Windows Phone 7.1
Microsoft lancia Windows 7 e Office 14
Paginare con i numeri di pagina un datagrid
Proteggersi da attacchi di SQL e code injection con ASP
Contare i record restituiti da una query
Concorso Windows Phone: AppLoad and win!
Ereditarietà degli Style in Silverlight
Formattazione automatica dei TextBlock
Media
Windows Phone 7.5 Developer Day: marketplace e strumenti per monetizzare le app
Windows Phone 7.5 Developer Day: costruire app con Visual Studio 2010 e Windows Phone Runtime
Tutti i media
In evidenza
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Sviluppare applicazioni per Windows Phone: scopri come fare con il nostro nuovissimo libro!
Sviluppa le applicazioni del futuro oggi: impara con il nostro libro HTML5 Espresso!
Community Days 2012 - Milano
Visualizzare un template per browser mobile tramite un custom control ASP.NET
Windows 8 su ARM: avrà il desktop, Office e il connected standby
Rilasciato Entity Framework 4.3
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network