我想手动创建与从缓存中获取的对象的实体关系。
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;
}
}