Контекст EF будет кэшироваться "за экземпляр". То есть каждый экземпляр DbContext
хранит свой независимый кеш объектов. Вы можете сохранить полученный список объектов в статическом списке и запросить все, что вам нравится, не возвращаясь в базу данных. На всякий случай убедитесь, что вы отказались от DbContext
после , когда вы выполните запрос.
var dbContext = new YourDbContext();
StaticData.CachedListOfThings = dbContext.ListOfThings.ToList();
Позже вы можете использовать LINQ для запроса статического списка.
var widgets = StaticData.CachedListOfThing.Where(thing => thing.Widget == "Foo");
Запрос выполняет сбор в памяти, а не базу данных.