Если у меня есть таблица запросов на обслуживание, и я запускаю на ней следующий код:
var serviceRequest = await _ctx.ServiceRequests.DeferredAny(t => t.Id == h.Id).FromCacheAsync("ServiceRequestByID");
Это будет так же, как и сохранение этого запроса:
SELECT * FROM ServiceRequests ГДЕ ID = 12345
или это то же самое, что сказать:
SELECT * FROM ServicesRequests (Затем из этого нового кэшированного данных найдите идентификатор 12345).
Другими словами, что именно кэшируется в отношении использования строки кода выше? И если я вернусь позже с новым ID, то он будет запрашивать кеш или перейти в базу данных, потому что он впервые сохранил запись первого ID?
Результат кэшируется.
В вашем случае результат логического значения кэшируется, а не объект.
Если вы запрашиваете другой идентификатор, он будет запрашивать базу данных и кэшировать результат, а также с другим результатом