related net mvc framework asp and asp.net-mvc entity-framework

and - ASP.NET MVC con Entity Framework



entity framework include related entities (2)

Estoy pensando que sería inteligente configurar el contexto del objeto Entity en Application_BeginRequest, almacenarlo en Request.items, usarlo en 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.

Creo que esto haría que sea como desarrollar en Ruby on Rails .

Podría ser que me disparen por decir semejante herejía, pero es tan loco que podría funcionar :)

No puedo hacer que Application_BeginRequest y ..EndRequest se activen en ASP.NET MVC . ¿No están despedidos? ¿Algún truco especial que deba hacer?


El contexto del objeto en EF, al igual que el contexto de datos en L2S, está diseñado como una "unidad de trabajo". No son seguros para subprocesos y no están diseñados para durar mucho tiempo.

En MVC, la mejor estrategia es crear uno en el constructor del controlador (implícita o explícitamente, no importa) y luego disponerlo en el método Dispose. Por supuesto, EF no hace cargas flojas, por lo que tendrás que encontrar tu propio camino para ser flojo. :)


La versión 1.0 de ASP.NET MVC me permite conectar manejadores de eventos tanto en beginrequest como en endrequest, renovando SessionScope y almacenándolo en HttpContext.Items en beginrequest (Cambié a Castle ActiveRecord) y en endrequest elijo el sessionscope en HttpContext .Items y deséchelo. Esto permite la carga diferida a lo largo del ciclo de vida de la solicitud. (incluso puede navegar el gráfico de objetos en las vistas).