Say I have a table or 2 that contains data that will never or rarely change, is there any point of trying to cache those data? Or will the EF context cache that data for me when I load them the first time? I was thinking of loading all the data from those tables and use a static list or something to keep that data in memory and query the in memory data instead of the tables whenever I need the data within the same context. Those tables I speak of contains typically a few hundred rows of data.
Share
The EF context will cache “per instance”. That is, each instance of the
DbContextkeeps it’s own independent cache of objects. You can store the resulting list of objects in a static list and query it all you like without returning to the database. To be safe, make sure you abandon theDbContextafter you execute the query.You can later use LINQ to query the static list.
The query executes the in-memory collection, not the database.