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