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, come aggiornare un oggetto fuori dal contesto
in
.NET Framework
>
ASP.NET 3.5
Ultimo messaggio
bovac
il 4 novembre 2009 alle 17:52
120 messaggi
dal 24 febbraio 2006
Ciao a tutti,
Ho una lista di oggetti che carico da EF e dopodichè me li mantengo in sessione per usi futuri.
Oggi è arrivato l'"uso futuro" ossia modificare un oggetto di questa lista.
Dopo averne modificate alcune proprietà dell'oggetto avrei pensato di fare una cosa del genere, ma vedo che non fa nulla nel DB
// Modifico delle proprietà
// .....
MioOggetto.valore=100;
// Salvo
using (EFProduzione context = new EFProduzione()) {
context.SaveChanges();
}
Aggiunta postuma:
Ho provato anche con questo
// Salvo
using (EFProduzione context = new EFProduzione()) {
context.ApplyPropertyChanges("MioOggetto", MioOggetto);
}
Ma mi da questo errore:
ObjectStateManager non contiene un elemento ObjectStateEntry contenente un riferimento a un oggetto di tipo 'project.MioOggetto'.
Grazie
Modificato da bovac
il 04 novembre 2009 18.02 -
Modificato da bovac
il 04 novembre 2009 18.06 -
Modificato da bovac
il 04 novembre 2009 18.06 -
Frederick@CityOfCastle
Rispondi
Quoting
Cradle
il 5 novembre 2009 alle 00:04
1.856 messaggi
dal 01 luglio 2004
Contributi
www.aspitalia.com
|
Blog
Ciao,
con EF1 la cosa migliore, se puoi, è
1) creare un context
2) agganciare l'oggetto con Attach
3) modifiche le proprietà
4) invocare context.SaveChanges
Se proprio non puoi *prima* effettuare l'attach e poi applicare le modifiche, puoi usare il metodo ApplyPropertyChanges:
1) creare il context
2) fetch della entity da DB
3) ApplyPropertyChanges
4) context.SaveChanges
L'errore che hai ottenuto credo riguardi il qualified name della entity che hai utilizzato. In generale è dato dal namespace del context (quello che scrivi nel designer, per capirci) + . + nome entityset
Ciao,
m.
Rispondi
Quoting
bovac
il 16 novembre 2009 alle 18:16
120 messaggi
dal 24 febbraio 2006
Ciao,
Se provo a seguire il primo consiglio mi ritrovo questo errore quando faccio l'attach.
"Più istanze di IEntityChangeTracker non possono fare riferimento a un oggetto entità"
Ho cercato su internet e sembrerebbe causato da una impostazione di EF e non ho trovato il modo di aggirarla.
http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/5ee5db93-f8f3-44ef-8615-5002949bea71/
Ho pensato anche di aggirare gestendo un unico oggetto Context per tutta l'applicazione ma ho paura si crei una discreta confusione andando a lavorare su web.
Il secondo metodo mi sembrava l'ultima spiaggia..speravo di evitarlo...
Frederick@CityOfCastle
Rispondi
Quoting
Cradle
il 17 novembre 2009 alle 12:23
1.856 messaggi
dal 01 luglio 2004
Contributi
www.aspitalia.com
|
Blog
Ma il context che solleva questa exception l'hai appena creato? O l'hai già utilizzato per recuperare altre entity?
Ciao,
m.
Rispondi
Quoting
bovac
il 17 novembre 2009 alle 14:36
120 messaggi
dal 24 febbraio 2006
Si lo ricreo ogni volta..
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