I'm working on a project which is using EntityFramework 4 and I am using the entity objects as my business objects. I ran into an issue recently where I had a context declared in a using statement in a user control. The method the statement was in returned an entity object which got used in another control. So I had to detach the entity then attach it to the new context in the other control. I would like to avoid this if possible. What I'm thinking is I would like to declare a context in the master page and then pass that to any page/usercontrol that needs it so they are all using the same context and I don't have to write all these using statements.
My questions are these:
1) is it a bad practice to declare a context on Pre_Init/Page_Load and then dispose of it on Page_Unload?
2) if it is what is the best practice for handling them?
3) if I do go the route of declaring the context in the master page what is the best way to pass that to the pages/usercontrols?