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...