Вы можете использовать класс MemoryCache , чтобы сохранить результат этого запроса под некоторым ключом.Ключом может быть хэш критериев запроса (если он у вас есть).И вот некоторые руководства на MSDN о том, как его использовать.
При реализации кэширования помните, что этот кеш хранится в памяти по умолчанию.Это означает, что если вы запускаете это приложение в веб-ферме, было бы более интересно использовать распределенный кэш, чтобы все узлы фермы совместно использовали одни и те же кэшированные данные.Это можно сделать, расширив класс ObjectCache с помощью некоторого решения распределенного кэширования.Например, memcached является популярным и имеет .NET провайдера .Другое решение распределенного кэширования - AppFabric .