获取缓存实体的对象上下文

时间:2013-01-22 21:03:13

标签: c# entity-framework caching objectcontext

我想手动创建与从缓存中获取的对象的实体关系。

Car car = Cache.GetCarById(1); // takes this from cache
SteeringWheel steeringWheel = Cache.GetSteeringWheelById(1); //takes this from DB 
                                                             //also saves in cache
car.SteeringWheel = steeringWheel; 

关于上述作业

  

无法定义两个对象之间的关系,因为   它们附加到不同的ObjectContext对象。

我尝试了以下内容:

  • 保存后从缓存中返回steeringWheel(从而生成2 请求缓存同一实体)
  • 将每个实体从它中分离出来 在缓存之前拥有自己的上下文

以上工作都没有。如果我能够获得car的上下文,我会将steeringWheel附加到其中,但是...在什么情境下?上下文是否与缓存中的对象一起保存,我该如何获取它?

请注意,我并不需要上下文,我只是按原样显示这些数据。

LE : 上下文是跨一个http请求的共享上下文,从静态方法

使用
public static myEntities Context
    {
        get
        {
            string ocKey = "ocm_" + HttpContext.Current.GetHashCode().ToString("x");
            if (!HttpContext.Current.Items.Contains(ocKey))
                HttpContext.Current.Items.Add(ocKey, new myEntities());
            return HttpContext.Current.Items[ocKey] as myEntities;
        }
    }

0 个答案:

没有答案