Implementing optimistic concurrency in SQL Server
Another way to deal with simultaneous changes to a database is implementing optimistic concurrency control. Unlike transactions—the pessimistic approach—with optimistic concurrency we assume that things will work out fine, so we have no need for explicit control mechanisms (transactions). In this chapter, we will see a solution for SQL Server.
Getting ready
We will be using the NuGet Package Manager to install 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 Microsoft.EntityFrameworkCore.SqlServer.
Finally, xunit is the package we will be using for the unit tests and dotnet-text-xunit adds tooling support for Visual Studio. Notice that the UnitTests project is a .NET Core App 1.0 (netcoreapp1.0), that Microsoft.EntityFrameworkCore.Design is configured as a build dependency and Microsoft.EntityFrameworkCore.Tools is set as a tool...