Разъяснение того, что именно кэшируется EF Plus

entity-framework entity-framework-extensions entity-framework-plus

Вопрос

Если у меня есть таблица запросов на обслуживание, и я запускаю на ней следующий код:

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

Это будет так же, как и сохранение этого запроса:

SELECT * FROM ServiceRequests ГДЕ ID = 12345

или это то же самое, что сказать:

SELECT * FROM ServicesRequests (Затем из этого нового кэшированного данных найдите идентификатор 12345).

Другими словами, что именно кэшируется в отношении использования строки кода выше? И если я вернусь позже с новым ID, то он будет запрашивать кеш или перейти в базу данных, потому что он впервые сохранил запись первого ID?

Принятый ответ

Результат кэшируется.

В вашем случае результат логического значения кэшируется, а не объект.

Если вы запрашиваете другой идентификатор, он будет запрашивать базу данных и кэшировать результат, а также с другим результатом




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему