In this recipe, we will be implementing a specification pattern on top of Entity Framework and Repository Pattern to leverage maximum reuse without surfacing queryable objects to the consuming developers.
We will be using the NuGet package manager to install the Entity Framework 4.1 assemblies.
The package installer can be found at http://nuget.org.
We will also be using a database for connecting to and updating data.
Open the Improving Complex Query Testing solution in the included source code examples.
Carry out the following steps in order to accomplish this recipe.
We start by writing a test which will query the database with a predefined specification. Use the following code:
using System; using System.Collections.Generic; using System.Linq; using BusinessLogic; using DataAccess.Queries; using Microsoft.VisualStudio.TestTools.UnitTesting; using Rhino.Mocks; using DataAccess; using BusinessLogic.QueryObjects; using Test.Properties...