Getting entities from the local cache
When using an Object-Relational Mapper (ORM) such as Entity Framework, a very important feature to keep in mind is this: when an entity is materialized as the result of executing a query, it is stored in an in-memory cache. This is usually referred to as First Level Cache, but Martin Fowler gave it another name: Identity Map. In its definition, he said that the purpose of this pattern is to ensure that each object gets loaded only once, by keeping every loaded object in a map. If you think of it, it is a good thing performance-wise, because there's always a cost in instantiating classes and hydrating them from the records obtained from the data source. This is used internally by ORMs, but we can also make use of it to our benefit.
Getting ready
We will be using the NuGet Package Manager to install the Entity Framework Core 1 package, Microsoft.EntityFrameworkCore
. We will also be using a SQL Server database for storing the data, so we will also need...