Aclaración sobre qué es exactamente almacenado en caché por EF Plus


Pregunta

Si tengo una tabla de solicitudes de servicio y ejecuto el siguiente código:

var serviceRequest = await _ctx.ServiceRequests.DeferredAny(t => t.Id == h.Id).FromCacheAsync("ServiceRequestByID");

¿Sería lo mismo que decir guardar esta consulta?

SELECT * FROM ServiceRequests WHERE ID = 12345

o es lo mismo que decir:

SELECT * FROM ServicesRequests (Entonces, a partir de los datos recién almacenados en caché, busque el ID 12345).

En otras palabras, ¿qué se almacena exactamente en caché con respecto al uso de la línea de código anterior? Y si vuelvo más tarde con una nueva ID, ¿consultará la caché o irá a la base de datos porque solo guardó el registro de la primera ID la primera vez?

Respuesta aceptada

El resultado se almacena en caché.

En su caso, el resultado del valor booleano se almacena en caché y no la entidad.

Si consulta con una ID diferente, consultará la base de datos y almacenará en caché el resultado también con el otro resultado





Licencia bajo: CC-BY-SA
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué