C#访问缓存列表

C#访问缓存列表,c#,visual-studio,caching,entity,C#,Visual Studio,Caching,Entity,我已使用System.rutime.cache加载了缓存中的实体列表 稍后将检索该列表,但当我尝试访问其值时​​它不获取我以前加载的数据,而是检索我的数据库的表中已经存在的其他数据 获取并填写列表: listaRelTareasOrquestador = (List<GesBrokerSuiteEntities>)cache.Get("listaOrquestador"); GesBrokerSuiteEntities ctx = new GesBrokerSui

我已使用System.rutime.cache加载了缓存中的实体列表

稍后将检索该列表,但当我尝试访问其值时​​它不获取我以前加载的数据,而是检索我的数据库的表中已经存在的其他数据

获取并填写列表:

listaRelTareasOrquestador = (List<GesBrokerSuiteEntities>)cache.Get("listaOrquestador");
GesBrokerSuiteEntities ctx = new GesBrokerSuiteEntities();
rel_tareas_orquestador nuevoregistroOrquestador = new rel_tareas_orquestador();

nuevoregistroOrquestador.id_robot_hija = idProyindividual;
nuevoregistroOrquestador.id_robot_padre = 2;
nuevoregistroOrquestador.id_robot_tarea_padre = "2";
nuevoregistroOrquestador.id_tarea_hija = Int32.Parse(id2);
nuevoregistroOrquestador.sincronizada = 2;
nuevoregistroOrquestador.esperar_padre_completa = 2;

 ctx.rel_tareas_orquestador.Add(nuevoregistroOrquestador);
 listaRelTareasOrquestador.Add(ctx);

 CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
 cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddHours(1.0);
                
 cache.Add("listaOrquestador", listaRelTareasOrquestador, cacheItemPolicy);
 listaRelTareasOrquestador = (List<GesBrokerSuiteEntities>)cache.Get("listaOrquestador");

            foreach (GesBrokerSuiteEntities registro in listaRelTareasOrquestador) {

                using (GesBrokerSuiteEntities ctx = new GesBrokerSuiteEntities()) {

                    rel_tareas_orquestador nuevoregistroOrquestador = new rel_tareas_orquestador();

                    nuevoregistroOrquestador.id_robot_hija = listaRelTareasOrquestador[0].rel_tareas_orquestador.FirstOrDefault().id_robot_hija;
                    nuevoregistroOrquestador.id_robot_padre = registro.rel_tareas_orquestador.FirstOrDefault().id_robot_padre;
                    nuevoregistroOrquestador.id_robot_tarea_padre = registro.rel_tareas_orquestador.FirstOrDefault().id_robot_tarea_padre;
                    nuevoregistroOrquestador.id_robot_tarea_hija = registro.rel_tareas_orquestador.FirstOrDefault().id_robot_tarea_hija;
                    nuevoregistroOrquestador.id_tarea_hija = registro.rel_tareas_orquestador.FirstOrDefault().id_tarea_hija;
listaRelTareasOrquestador=(List)cache.Get(“listaOrquestador”);
GesBrokerSuitenties ctx=新的GesBrokerSuitenties();
rel_tareas_或questador nuevorregistorquestador=新rel_tareas_或questador();
NuevorRegistroorQuestador.id_robot_hija=Idroyindividual;
NuevorQuestador.id_robot_padre=2;
NuevorRegistroorQuestador.id_robot_tarea_padre=“2”;
nuevorquestador.id_tarea_hija=Int32.Parse(id2);
NuevorRegistroorQuestador.sincronizada=2;
NuevorRegistroorquestador.esperar_padre_completa=2;
ctx.rel_tareas_orquestador.Add(新注册登记处);
列表远程区域或查询数据添加(ctx);
CacheItemPolicy CacheItemPolicy=新的CacheItemPolicy();
cacheItemPolicy.AbsoluteExpiration=DateTime.Now.AddHours(1.0);
Add(“listaOrquestador”,listaRelTareasOrquestador,cacheItemPolicy);
在此之后,当我检索缓存时,将列出值​​仍然保存,但当我尝试访问它们时,无法获取它们。 附件是VisualStudio调试的屏幕截图

尝试获取列表的先前值:

listaRelTareasOrquestador = (List<GesBrokerSuiteEntities>)cache.Get("listaOrquestador");
GesBrokerSuiteEntities ctx = new GesBrokerSuiteEntities();
rel_tareas_orquestador nuevoregistroOrquestador = new rel_tareas_orquestador();

nuevoregistroOrquestador.id_robot_hija = idProyindividual;
nuevoregistroOrquestador.id_robot_padre = 2;
nuevoregistroOrquestador.id_robot_tarea_padre = "2";
nuevoregistroOrquestador.id_tarea_hija = Int32.Parse(id2);
nuevoregistroOrquestador.sincronizada = 2;
nuevoregistroOrquestador.esperar_padre_completa = 2;

 ctx.rel_tareas_orquestador.Add(nuevoregistroOrquestador);
 listaRelTareasOrquestador.Add(ctx);

 CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
 cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddHours(1.0);
                
 cache.Add("listaOrquestador", listaRelTareasOrquestador, cacheItemPolicy);
 listaRelTareasOrquestador = (List<GesBrokerSuiteEntities>)cache.Get("listaOrquestador");

            foreach (GesBrokerSuiteEntities registro in listaRelTareasOrquestador) {

                using (GesBrokerSuiteEntities ctx = new GesBrokerSuiteEntities()) {

                    rel_tareas_orquestador nuevoregistroOrquestador = new rel_tareas_orquestador();

                    nuevoregistroOrquestador.id_robot_hija = listaRelTareasOrquestador[0].rel_tareas_orquestador.FirstOrDefault().id_robot_hija;
                    nuevoregistroOrquestador.id_robot_padre = registro.rel_tareas_orquestador.FirstOrDefault().id_robot_padre;
                    nuevoregistroOrquestador.id_robot_tarea_padre = registro.rel_tareas_orquestador.FirstOrDefault().id_robot_tarea_padre;
                    nuevoregistroOrquestador.id_robot_tarea_hija = registro.rel_tareas_orquestador.FirstOrDefault().id_robot_tarea_hija;
                    nuevoregistroOrquestador.id_tarea_hija = registro.rel_tareas_orquestador.FirstOrDefault().id_tarea_hija;
listaRelTareasOrquestador=(List)cache.Get(“listaOrquestador”);
foreach(列表区域或查询区域中的Gesbrokersuitentities注册表){
使用(gesbrokersuitenties ctx=new gesbrokersuitenties()){
rel_tareas_或questador nuevorregistorquestador=新rel_tareas_或questador();
NuevorRegistroorQuestador.id_robot_hija=ListareAltArea或Questador[0]。rel_tareas_或Questador.FirstOrDefault().id_robot_hija;
NuevorRegistroorQuestador.id_robot_padre=registro.rel_tareas_orquestador.FirstOrDefault().id_robot_padre;
NuevorRegistroorQuestador.id_robot_tarea_padre=registro.rel_tareas_orquestador.FirstOrDefault().id_robot_tarea_padre;
NuevorRegistroorQuestador.id\u robot\u tarea\u hija=registro.rel\u tareas\u orquestador.FirstOrDefault().id\u robot\u tarea\u hija;
NuevorRegistroorQuestador.id\u tarea\u hija=registro.rel\u tareas\u或questador.FirstOrDefault().id\u tarea\u hija;


如何检索以前加载的值​​而不是数据库的?

根据我的测试,我发现您的代码遗漏了很多东西。因此,请提供相关代码。此外,最好您提供数据库中的信息,以便我进行测试。