我有一个.NET 4 Web应用程序(Web窗体),它使用Entity Framework来管理MySQL数据库的数据.对于每个页面,我在Page_Load中为此模型创建上下文.
string connString = ConfigurationManager.ConnectionStrings["dbconnection"].ToString();
MyModel = new MyEntities(connString);
Run Code Online (Sandbox Code Playgroud)
现在,在页面上的后续操作中,我可以使用MyModel来检索和更新数据.这对我来说简洁明了,但我总是假设.NET在发出新的页面请求时丢弃了之前的Page的MyModel.我意识到情况可能不是这样吗?和记忆可能被低效使用.
我已经看到了一个很好的案例,用于合并using (MyEntities MyModel = new MyEntities (ConfigurationManager.ConnectionStrings["dbconnection"].ToString()))句柄处理,但如果我在页面上有6个以上的操作,每个需要在调用时重新创建上下文(不是我当前的方法做得更好),这似乎并不干净.
是否有一种干净的方法可以在初始页面加载时创建一次上下文,并在调用新页面,调用非回发或用户会话结束时处置它?