实体框架上下文为静态

时间:2009-05-20 14:15:57

标签: asp.net entity-framework

在Web应用程序中,如果我将实体框架模型的上下文声明为静态是可以的吗?会没事的?不推荐?为什么? 谢谢!

3 个答案:

答案 0 :(得分:34)

几乎绝对不是。

随着查询/保存更多对象,ObjectContexts变得越来越大。

不建议在线程之间共享ObjectContext,因为你必须处理锁定问题和不确定的副作用。

我前段时间就这个话题写过一篇小贴士。

Tip 18 - How to decide on a lifetime for your ObjectContext

答案 1 :(得分:6)

answer sort of answers your questionthis one也是如此。我当然不会认为它是静态的!

Rick Strahl在生命周期管理方面有an in depth article

答案 2 :(得分:2)

我第一次实施实体框架时就已经这样做了。问题是整个应用程序正在“完成”事件,所以我不得不做很多代码来确定调用的来源。

我决定重构,所以每个页面都有一个上下文的实例。我现在好多了。

/我的经历