Разъяснение того, что именно кэшируется 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 ответ

Решение

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

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

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

Другие вопросы по тегам