Разъяснение того, что именно кэшируется EF Plus - PullRequest
0 голосов
/ 30 апреля 2018

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

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

Это было бы то же самое, что сказать сохранить этот запрос:

SELECT * FROM ServiceRequests, где ID = 12345

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

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

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

1 Ответ

0 голосов
/ 01 мая 2018

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

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

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

...