2012-06-14 9 views
5

Ho aggiornato il mio EntityModel alla versione 4.3 utilizzando NuGet.'ObjectContext' non contiene una definizione per 'Entry' e nessun metodo di estensione 'Entry'

Ora voglio cambiare il mio EntityObject.State, ma non riesco a trovare il metodo .Entry().

Lo stato corrente è Deleted.

questo è quello che voglio fare: vengono aggiunti

someObjectContext.Entry(someEntityObject).State = EntityState.Unchanged;

I referances a EntityFramework e EntityFramework.Extended.

Quindi, cosa mi manca?

EDIT

mio NuGet uscita:

PM> Install-Package EntityFramework -Version 4.3.1 
'EntityFramework 4.3.1' already installed. 
Data already has a reference to 'EntityFramework 4.3.1'. 

risposta

13

State usando ObjectContext, che non ha il metodo Entry. Dovresti usare , che è un wrapper intorno a ObjectContext con metodi aggiuntivi, aggiunto in EF 4.3 4.1 (correzione grazie a Slauma) per quanto mi ricordo - c'è anche un modo per estrarre il ObjectContext da DbContext quando necessario:

ObjectContext context = ((IObjectContextAdapter)yourDbContext).ObjectContext; 

Ecco il contrario:

DbContext context = new DbContext(yourObjectContext, true); //or false, depends what you want 

Ecco un link al costruttore.

+0

aggiunto in EF 4.1 ... – Slauma

+0

@Slauma Grazie per la correzione, modifica ora ... :) –

+0

@ Trustme-I'maDoctor Grazie per l'aiuto. Lavoro perfetto! =) – Willem

Problemi correlati