我有一个使用Entity Framework管理与MySQL数据库交互的.NET 4 Web应用程序(Web Forms)。在每个页面加载时,我都会创建该模型的上下文。
现在,在页面上的后续操作中,我可以使用MyModel来检索和更新数据。这对我来说很干净简单,但我一直认为当进行新页面请求时,.NET会丢弃之前页面的MyModel。我意识到这可能不是事实?内存可能被使用效率低下。
我已经看到有人充分论证了将`using (MyEntities MyModel = new MyEntities(ConfigurationManager.ConnectionStrings["dbconnection"].ToString()))`纳入其中的案例,该语句用于处理处置,但如果我在页面上有6个以上的操作需要每次调用时重新创建上下文,则此方法似乎并不干净(尽管我的当前方法也不好)。
是否有一种干净的方式可以在初始页面加载时创建上下文,并在调用新页面、非回发或用户会话结束时将其处置?
string connString = ConfigurationManager.ConnectionStrings["dbconnection"].ToString();
MyModel = new MyEntities(connString);
现在,在页面上的后续操作中,我可以使用MyModel来检索和更新数据。这对我来说很干净简单,但我一直认为当进行新页面请求时,.NET会丢弃之前页面的MyModel。我意识到这可能不是事实?内存可能被使用效率低下。
我已经看到有人充分论证了将`using (MyEntities MyModel = new MyEntities(ConfigurationManager.ConnectionStrings["dbconnection"].ToString()))`纳入其中的案例,该语句用于处理处置,但如果我在页面上有6个以上的操作需要每次调用时重新创建上下文,则此方法似乎并不干净(尽管我的当前方法也不好)。
是否有一种干净的方式可以在初始页面加载时创建上下文,并在调用新页面、非回发或用户会话结束时将其处置?