Estoy tratando de usar Entity Framework para consultar la base de datos y tengo el siguiente código que estoy usando para obtener algunos datos.Actualización de datos utilizando Entity Framework
var students= MyEntities.Students.Where(s => s.Age > 20).ToList();
Este código funciona bien y devuelve datos correctos. Sin embargo, si ejecuto este código, luego voy a la base de datos y actualizo los registros para cambiar los datos que este código debe devolver, y luego vuelvo a ejecutar este código sin cerrar la aplicación, obtengo datos originales. Estoy bastante seguro de que solía funcionar bien, pero ahora esto no actualiza los datos.
Si solo está consultando debe usar 'MergeOption.NoTracking'? Eso obligaría a la consulta a golpear el db. – Nix
La consulta afectará DB de todos modos. No estoy seguro de lo que sucede cuando usas 'NoTracking' y ya tienes entidades en el" caché "porque al usar la carga diferida EF todavía las conserva. –
Esto parece hacer lo que quiero que haga. Usar el método Refresh() también funcionaría, pero creo que usar ObjectQuery es una solución más limpia. Marcando esto como la respuesta. Sin embargo, Nix aporta un buen punto acerca de las mejores prácticas cuando se usa EF, de lo que sería bueno obtener más información, así que tendré que investigar más sobre eso. – chiefanov