2011-11-19 9 views
5

i acostumbrado a utilizar el ObjectSet en EF 4.0, que podría conseguir el Contexto subyacente para este ObjectSet usandoObjectSet.Context vs DbSet

myObjectSet.Context que devuelve ObjectContext.

Ahora con DbSet en Ef4.1, ¿cuál es el equivalente?

+0

Posible duplicado de [¿Puedes obtener el DbContext de un DbSet?] (Http://stackoverflow.com/questions/17710769/can-y-get-the-dbcontext-from-a-dbset) –

Respuesta

3

EF 4.1 no ofrece una API pública para obtener el DbContext de la instancia DbSet. Debería usar Reflections API para obtener la instancia DbContext.

Editar

Una solución sería la de pasar alrededor de la DbContext instace con DbSet ejemplo. Por ejemplo, si tuviera un constructor que tomó solo una instancia de DbSet. Pase el DbContext instace también.

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

Otro método sería la de abrir el EntityFramewrk.dll dentro Reflector y averiguar cómo obtener el instace DbContext accediendo a las / campos privados internos de DbSet. No te aconsejaría que uses esto porque las implementaciones pueden cambiar.

+0

podrías por favor guiarme a través de? –

+0

Quiero decir, no puedo encontrar ninguna relación directa entre DbSet y DbContext –

+1

@Mustafa Tienes que preguntarle al equipo de ADO.NET por qué no lo han expuesto :) Edité mi respuesta para agregar una solución alternativa. – Eranga

Cuestiones relacionadas