2011-11-19 10 views
5

ho usato per usare il ObjectSet in EF 4.0, ho potuto ottenere il sottostante Context per questo ObjectSet utilizzandoObjectSet.Context vs DbSet

myObjectSet.Context che restituisce ObjectContext.

Ora con DbSet in Ef4.1, qual è l'equivalente ??

+0

Possibile duplicato di [Si può ottenere DbContext da un DbSet?] (Http://stackoverflow.com/questions/17710769/can-you-get-the-dbcontext-from-a-dbset) –

risposta

3

EF 4.1 non offre un'API pubblica per ottenere DbContext dall'istanza DbSet. Dovresti utilizzare l'API Reflections per ottenere l'istanza DbContext.

Modifica

Una soluzione potrebbe essere quella di passare tutto il DbContext instace con DbSet esempio. Ad esempio se si dispone di un costruttore che ha preso solo un'istanza DbSet. Passa anche l'instace DbContext.

public MyService(DbContext context, DbSet<MyClass> mySet){} 

altro metodo sarebbe quello di aprire la EntityFramewrk.dll all'interno Reflector e scoprire come ottenere il DbContext instace accedendo alle interni/privati ​​ campi di DbSet. Non consiglierei di usarlo perché le implementazioni possono cambiare.

+0

potresti per favore guidami attraverso? –

+0

Voglio dire, non riesco a trovare alcuna relazione diretta tra DbSet e DbContext –

+1

@Mustafa Devi chiedere al team di ADO.NET perché non l'hanno esposto :) Modificato la mia risposta per aggiungere una soluzione alternativa. – Eranga

Problemi correlati