Wenn ich eine Tabelle mit Serviceanfragen habe und den folgenden Code darauf ausführen:
var serviceRequest = await _ctx.ServiceRequests.DeferredAny(t => t.Id == h.Id).FromCacheAsync("ServiceRequestByID");
Wäre das das Gleiche wie das Speichern dieser Abfrage:
SELECT * FROM ServiceRequests WHERE ID = 12345
oder ist es dasselbe wie zu sagen:
SELECT * FROM ServicesRequests (Dann von diesen neu zwischengespeicherten Daten ID 12345 finden).
Mit anderen Worten, was genau ist in Bezug auf die Verwendung der obigen Codezeile im Cache? Und wenn ich später mit einer neuen ID zurückkomme, wird es dann den Cache abfragen oder zur Datenbank gehen, weil es nur den ersten ID-Datensatz beim ersten Mal gespeichert hat?
Das Ergebnis wird zwischengespeichert.
In Ihrem Fall wird das Ergebnis des booleschen Werts zwischengespeichert und nicht die Entität.
Wenn Sie mit einer anderen ID abfragen, wird die Datenbank abgefragt und das Ergebnis mit dem anderen Ergebnis zwischengespeichert