实体框架4 ObjectContext GuideLines

时间:2011-03-17 12:51:05

标签: c# .net asp.net entity-framework-4 entity

我在上一篇文章中读到了如何通过将我的Db的ObjectContext放在HttpContext.Current.Items [“Db”]中的属性中来解决解决方案;这很棒,但我有一个问题。这是否意味着每次我使用我的存储库时,我都必须在HttpContext.Current.Items中传递ObjectContext,或者当我创建或更新具有对另一个实体的引用的实体时,我只需要这样做。

在我的存储库类中,我有2种实例化它们的方法,使用ObjectContext,而没有在实体中创建ObjectContext的方法。

1 个答案:

答案 0 :(得分:1)

您应该在单个HTTP请求处理中使用的所有存储库之间共享一个上下文。您还应该在请求处理结束时处置上下文。通常,您的存储库不应该依赖于HttpContext。最好的方法是在存储库之外创建ObjectContext并始终将其传递给构造函数。您也可以使用一些IoC容器,如Windsor,StructureMap,Ninject或Unity。