Validating the whole entity
In the previous recipe, we saw how we can validate simple, decoupled properties. In real life, though, there is usually the need to validate properties against each other, or perform some validation that even uses values from outside the validating entity. We will have a look at two different ways to achieve this.
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 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. Note that the UnitTests project is a .NET Core App 1.0 (netcoreapp1.0), where Microsoft.EntityFrameworkCore.Design is configured as a build dependency and Microsoft.EntityFrameworkCore.Tools is set as a tool.
Open Using EF Core Solution from the included source code examples...