Estoy pensando que sería inteligente configurar el contexto del objeto Entity en Application_BeginRequest, almacenarlo en Request.items, usarlo durante toda la solicitud y disponerlo en Application_EndRequest. De esta forma, el contexto siempre está disponible y puedo navegar por el gráfico del objeto de Entity Framework en mis vistas, cargando lo que no he ansiado hasta ahora.ASP.NET MVC con Entity Framework
Creo que esto lo haría como desarrollar en Ruby on Rails.
Podría ser que se debe tirar por hablar como una herejía, pero es tan alocado que posiblemente funcionará :)
no puedo conseguir Application_BeginRequest y ..EndRequest al fuego en ASP.NET MVC sin embargo. ¿No están despedidos? ¿Algún truco especial que deba hacer?
No, este es un mal enfoque. Hace que el Controlador sea difícil de probar y también significa que la unidad de trabajo no está disponible fuera del Controlador. El patrón de sesión por solicitud mencionado a continuación es mejor. EF v1 admite carga diferida; solo tiene que ser explícito. –
Creo que no entiende lo que significa "carga lenta". EF le permite cargar relaciones con entusiasmo, pero no carga lenta. En cuanto a la capacidad de prueba, acepto que consumir directamente un contexto de objeto perjudica la capacidad de prueba, pero eso no tiene nada que ver con el uso de ctor/dispose. –
LOL amigo. Solo tiene que ser "explícito" http://blogs.msdn.com/jkowalski/archive/2008/05/12/transparent-lazy-loading-for-entity-framework-part-1.aspx –