Setting the state of an entity
Normally, Entity Framework knows two kinds of entities:
Those that have been loaded through it, such as the result of a LINQ query
Those that have been added to it
However, things can get more complicated; imagine, for a second, that you loaded one or more entities from a context in an ASP.NET web application and you stored them in the ASP.NET session. Because your DbContext
normally only lives for the duration of an HTTP request, in the next request, you will get another one, which knows nothing about these entities. Another example would be if you loaded an entity from a query and accidentally made changes to it that you don't want to persist.
The solution for both these cases is to change the Entity Framework's perceived state of the entity (or entities). Let's see how this can be done.
Getting ready
We will be using NuGet Package Manager to install the Entity Framework Core 1 package, Microsoft.EntityFrameworkCore
. We will also be using a SQL Server database...